最近很多人都在問我關于PQ、PP、PBI的問題,我感覺是時候帶大家了解Excel的這些插件了。大家知道我極力推薦大家卸載2013之前的Excel,很大一部分原因就是因為Excel2013之后的版本集成了這些插件。那接下來的時間,就讓我們看看這些簡稱都是什么意思?他們都能做些什么?
創(chuàng)新互聯(lián)長期為1000+客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為建昌企業(yè)提供專業(yè)的網站制作、網站設計,建昌網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
微軟的BI發(fā)展戰(zhàn)略
微軟有一款企業(yè)級的產品叫SQLServer,相信有的同學肯定聽說過。它是一款商業(yè)用的數據庫產品(意味著是收費的),包含了數據處理過程中的各種內容。核心功能包括:數據清洗、數據建模、數據呈現(xiàn)。
而近幾年微軟的發(fā)展慢慢向個人市場傾斜,將這些功能開放到Excel這個產品中。通過Excel龐大的用戶基數,迅速占領分析和BI市場。事實證明微軟的戰(zhàn)略是對的。下圖為Gartner公司2020年分析與商業(yè)智能 BI 平臺魔力象限。微軟正處于這個領域領先的位置。
數據清洗工具PQ
PQ全稱為PowerQuery,Power Query 是 Excel 中可用的三大數據分析工具之一。但在2016之后的版本中這個名字已經找不到了,但是大家還是喜歡稱為PQ。因為其功能的強大微軟在2016之后的版本已經將其內化入Excel
PowerQuery是一種數據連接技術,功能主要包含三個部分:連接(獲取)、轉換、合并。
連接其實就是獲取數據的數據的能力。PowerQuery的數據獲取能力很強操作也很簡單。按照分類來說可以分為以下幾類:
1. 文件類:Excel文件、CSV文件、JSON文件、XML文件等以文件存儲的數據
2. 數據庫:SAP HANA、Mysql、SQLServer、Oracle等主流數據庫
3. 網頁:PowerQuery通過簡單操作即可獲取網頁數據,俗稱:爬蟲。有了這個功能大部分的API,PowerQuery也能調用了
4. 其他數據源:Facebook、Azure、ODBC、Hadoop等
還要一點就是PowerQuery已經在PowerBI中集成了Python和R語言,相信很快也會被集成在Excel中。有了Python和R的加持,PowerQuery的獲取能力將更加強大,可以說PowerQuery將無所不能。所以我稱其為最強手臂。
轉換的能力就是將數據清洗為可用于分析的能力。關于轉換這一點不是我們這篇短文能講清楚的。你只用先了解以下幾點就好:
1. PowerQuery轉化數據是有專門的語言稱為M語言
2. PowerQuery大部分功能只需要點擊鼠標即可生成M語言
3. 每一步操作都可以生成一個表緩存,你可以在任何節(jié)點再引用
4. 數據存儲的空間有List、Record、Table,數據類型常用的有Text、Number、Date;
5. M語言其實是函數語言,通過操作上面的對象來完成數據清洗工作;
合并能力就是將不同的表連接到一起。主要的合并方式有兩種:合并和追加
1. 追加最容易理解就是上下拼接在一起
2. 合并是指將兩種表根據一個或多個字段的關聯(lián)關系橫向拼接在一起
上面這點現(xiàn)在聽不懂沒關
爬蟲是一種技術,很多編程語言都可以實現(xiàn)爬蟲。
mysql是一個數據庫,還有oracle,sqlserver,mangodb,這些都是數據庫
其實兩者并沒有必然的聯(lián)系。不過你爬下來的數據儲存在哪里呢?可以當時顯示后就廢棄了,可以暫時保存在內存里,可以保存在文本流里面,也可以保存在數據庫里。這個要看你具體的需求了。譬如,你爬下來的數據比較大,需要長期保存,或者需要累加,做數據處理。你就要把數據儲存在數據庫里面。
所以裝不裝mysql實際上是不影響爬蟲技術的學習和實現(xiàn)的。
python的作用:
1.系統(tǒng)編程:提供API(Application Programming
Interface應用程序編程接口),能方便進行系統(tǒng)維護和管理,Linux下標志性語言之一,是很多系統(tǒng)管理員理想的編程工具 。
2.圖形處理:有PIL、Tkinter等圖形庫支持,能方便進行圖形處理。
3.數學處理:NumPy擴展提供大量與許多標準數學庫的接口。
4.文本處理:python提供的re模塊能支持正則表達式,還提供SGML,XML分析模塊,許多程序員利用python進行XML程序的開發(fā)。
5.數據庫編程:程序員可通過遵循Python DB-API(數據庫應用程序編程接口)規(guī)范的模塊與Microsoft SQL
Server,Oracle,Sybase,DB2,MySQL、SQLite等數據庫通信。python自帶有一個Gadfly模塊,提供了一個完整的SQL環(huán)境。
6.網絡編程:提供豐富的模塊支持sockets編程,能方便快速地開發(fā)分布式應用程序。很多大規(guī)模軟件開發(fā)計劃例如Zope,Mnet
及BitTorrent. Google都在廣泛地使用它。
7.Web編程:應用的開發(fā)語言,支持最新的XML技術。
8.多媒體應用:Python的PyOpenGL模塊封裝了“OpenGL應用程序編程接口”,能進行二維和三維圖像處理。PyGame模塊可用于編寫游戲軟件。
9.pymo引擎:PYMO全稱為python memories off,是一款運行于Symbian S60V3,Symbian3,S60V5,
Symbian3, Android系統(tǒng)上的AVG游戲引擎。因其基于python2.0平臺開發(fā),并且適用于創(chuàng)建秋之回憶(memories
off)風格的AVG游戲,故命名為PYMO。
10.黑客編程:python有一個hack的庫,內置了你熟悉的或不熟悉的函數,但是缺少成就感。
11.用Python寫簡單爬蟲
首先,要通過urllib2這個Module獲得對應的HTML源碼。
4import urllib2 #調用urllib2
url='' #把等號右邊的網址賦值給url
html=urllib2.urlopen(url).read() #html隨意取名 等號后面的動作是打開源代碼頁面,并閱讀print html #打印
通過上面這三句就可以將URL的源碼存在content變量中,其類型為字符型。
接下來是要從這堆HTML源碼中提取我們需要的內容。用Chrome查看一下對應的內容的代碼(也可以用Firefox的Firebug)。
可以看到url的信息存儲在span標簽中,要獲取其中的信息可以用正則式。
python簡介:
Python(英語發(fā)音:/?pa?θ?n/), 是一種面向對象、解釋型計算機程序設計語言,由Guido vanRossum于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年,Python 源代碼同樣遵循 GPL(GNU General PublicLicense)協(xié)議。Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結在一起。常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然后對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而后封裝為Python可以調用的擴展類庫。需要注意的是在您使用擴展類庫時可能需要考慮平臺問題,某些可能不提供跨平臺的實現(xiàn)。
在大數據行業(yè)工作兩年是怎樣一種體驗
寫在前面
今年廣州的初夏在經歷了大雨的洗禮之后,一切都變得更加明朗起來,新的工作,新的人和事。懶惰讓我變得更焦慮,焦慮促使我進步,程序員的焦慮大家應該都有共同的感覺,時代的步伐太快了,在這個環(huán)境下的軟件開發(fā)一定會淘汰掉那些不懂得學習、懶惰的人。希望跟大家共勉。
在本文中,我主要回顧這兩年來,在大數據行業(yè)公司從事大數據類的前端開發(fā)的工作。最近剛剛換了一份工作,這里把我的經驗稍作總結分享給大家。
本文主要從大數據開發(fā)的角度出發(fā),到大數據治理的必要性,再到圖形化建模的暢想,最后在數據質量的把關,然后到大數據可視化的應用,總結兩年的見聞和我的學習成果,也不知理解有無偏差,希望大家能給出建議。
大數據開發(fā)
大數據開發(fā),有幾個階段:
1.數據采集(原始數據)
2.數據匯聚(經過清洗合并的可用數據)
3.數據轉換和映射(經過分類、提取的專項主題數據)
4.數據應用(提供api 智能系統(tǒng) 、應用系統(tǒng)等)
數據采集
數據采集有線上和線下兩種方式,線上一般通過爬蟲,通過抓取或者通過已有應用系統(tǒng)的采集。
在這個階段,我們可以做一個大數據采集平臺,依托自動爬蟲(使用Python或者Node.js制作爬蟲軟件),ETL工具、或者自定義的抽取轉換引擎,從文件中、數據庫中、網頁中專項爬取數據。如果這一步通過自動化系統(tǒng)來做的話,可以很方便的管理所有的原始數據,并且從數據的開始對數據進行標簽采集,可以規(guī)范開發(fā)人員的工作,同時目標數據源可以更方便的管理。
數據采集的難點在于多數據源,例如mysql、postgresql、sqlserver 、 mongodb 、sqllite。還有本地文件、excel統(tǒng)計文檔、甚至是doc文件。如何將它們規(guī)整、有方案地整理進我們的大數據流程中也是必不可缺的一環(huán)。
數據匯聚
數據的匯聚是大數據流程最關鍵的一步,你可以在這里加上數據標準化,你也可以在這里做數據清洗,數據合并,還可以在這一步將數據存檔,將確認可用的數據經過可監(jiān)控的流程進行整理歸類,這里產出的所有數據就是整個公司的數據資產,到了一定的量就是一筆固定資產。
數據匯聚的難點在于如何標準化數據,例如表名標準化,表的標簽分類,表的用途,數據的量,是否有數據增量?數據是否可用?
這些需要在業(yè)務上下很大的功夫,必要時還要引入智能化處理,例如根據內容訓練結果自動打標簽,自動分配推薦表名、表字段名等,還有如何從原始數據中導入數據等。
數據轉換和映射
經過數據匯聚的數據資產如何提供給具體的使用方使用?在這一步,主要就是考慮數據如何應用,如何將兩、三個數據表轉換成一張能夠提供服務的數據。然后定期更新增量。
經過前面的那幾步,在這一步難點并不太多了,如何轉換數據與如何清洗數據、標準數據無二,將兩個字段的值轉換成一個字段,或者根據多個可用表統(tǒng)計出一張圖表數據等等。
數據應用
數據的應用方式很多,有對外的、有對內的,如果擁有了前期的大量數據資產,是通過restful API提供給用戶?還是提供流式引擎 KAFKA 給應用消費? 或者直接組成專題數據,供自己的應用查詢?這里對數據資產的要求比較高,所以前期的工作做好了,這里的自由度很高。
大數據開發(fā)的難點
大數據開發(fā)的難點主要是監(jiān)控,怎么樣規(guī)劃開發(fā)人員的工作。開發(fā)人員隨隨便便采集了一堆垃圾數據,并且直連數據庫。 短期來看,這些問題比較小,可以矯正。 但是在資產的量不斷增加的時候,這就是一顆定時炸彈,隨時會引爆,然后引發(fā)一系列對數據資產的影響,例如數據混亂帶來的就是數據資產的價值下降,客戶信任度變低。
如何監(jiān)控開發(fā)人員的開發(fā)流程?
答案只能是自動化平臺,只有自動化平臺能夠做到讓開發(fā)人員感到舒心的同時,接受新的事務,拋棄手動時代。
這就是前端開發(fā)工程師在大數據行業(yè)中所占有的優(yōu)勢點,如何制作交互良好的可視化操作界面?如何將現(xiàn)有的工作流程、工作需求變成一個個的可視化操作界面? 可不可以使用智能化取代一些無腦的操作?
從一定意義上來說,大數據開發(fā)中,我個人認為前端開發(fā)工程師占據著更重要的位置,僅次于大數據開發(fā)工程師。至于后臺開發(fā),系統(tǒng)開發(fā)是第三位的。
好的交互至關重要,如何轉換數據,如何抽取數據,一定程度上,都是有先人踩過的坑,例如kettle,再例如kafka,pipeline ,解決方案眾多。關鍵是如何交互? 怎么樣變現(xiàn)為可視化界面? 這是一個重要的課題。
現(xiàn)有的各位朋友的側重點不同,認為前端的角色都是可有可無,我覺得是錯誤的,后臺的確很重要,但是后臺的解決方案多。 前端實際的地位更重要,但是基本無開源的解決方案,如果不夠重視前端開發(fā), 面臨的問題就是交互很爛,界面爛,體驗差,導致開發(fā)人員的排斥,而可視化這塊的知識點眾多,對開發(fā)人員的素質要求更高。
大數據治理
大數據治理應該貫穿整個大數據開發(fā)流程,它有扮演著重要的角色,淺略的介紹幾點:
· 數據血緣
· 數據質量審查
· 全平臺監(jiān)控
數據血緣
從數據血緣說起,數據血緣應該是大數據治理的入口,通過一張表,能夠清晰看見它的來龍去脈,字段的拆分,清洗過程,表的流轉,數據的量的變化,都應該從數據血緣出發(fā),我個人認為,大數據治理整個的目標就是這個數據血緣,從數據血緣能夠有監(jiān)控全局的能力。
數據血緣是依托于大數據開發(fā)過程的,它包圍著整個大數據開發(fā)過程,每一步開發(fā)的歷史,數據導入的歷史,都應該有相應的記錄,數據血緣在數據資產有一定規(guī)模時,基本必不可少。
數據質量審查
數據開發(fā)中,每一個模型(表)創(chuàng)建的結束,都應該有一個數據質量審查的過程,在體系大的環(huán)境中,還應該在關鍵步驟添加審批。例如在數據轉換和映射這一步,涉及到客戶的數據提供,應該建立一個完善的數據質量審查制度,幫助企業(yè)第一時間發(fā)現(xiàn)數據存在的問題,在數據發(fā)生問題時也能第一時間看到問題的所在,并從根源解決問題,而不是盲目的通過連接數據庫一遍一遍的查詢SQL。
全平臺監(jiān)控
監(jiān)控其實包含了很多的點,例如應用監(jiān)控,數據監(jiān)控,預警系統(tǒng),工單系統(tǒng)等,對我們接管的每個數據源、數據表都需要做到實時監(jiān)控,一旦發(fā)生殆機,或者發(fā)生停電,能夠第一時間電話或者短信通知到具體負責人,這里可以借鑒一些自動化運維平臺的經驗的,監(jiān)控約等于運維,好的監(jiān)控提供的數據資產的保護也是很重要的。
大數據可視化
大數據可視化不僅僅是圖表的展現(xiàn),大數據可視化不僅僅是圖表的展現(xiàn),大數據可視化不僅僅是圖表的展現(xiàn)。
重要的事說三遍,大數據可視化歸類的數據開發(fā)中,有一部分屬于應用類,有一部分屬于開發(fā)類。
在開發(fā)中,大數據可視化扮演的是可視化操作的角色, 如何通過可視化的模式建立模型? 如何通過拖拉拽,或者立體操作來實現(xiàn)數據質量的可操作性? 畫兩個表格加幾個按鈕實現(xiàn)復雜的操作流程是不現(xiàn)實的。
在可視化應用中,更多的也有如何轉換數據,如何展示數據,圖表是其中的一部分,平時更多的工作還是對數據的分析,怎么樣更直觀的表達數據?這需要對數據有深刻的理解,對業(yè)務有深刻的理解,才能做出合適的可視化應用。
智能的可視化平臺
可視化是可以被再可視化的,例如superset,通過操作SQL實現(xiàn)圖表,有一些產品甚至能做到根據數據的內容智能分類,推薦圖表類型,實時的進行可視化開發(fā),這樣的功能才是可視化現(xiàn)有的發(fā)展方向,我們需要大量的可視化內容來對公司發(fā)生產出,例如服裝行業(yè),銷售部門:進貨出貨,顏色搭配對用戶的影響,季節(jié)對選擇的影響 生產部門:布料價格走勢? 產能和效率的數據統(tǒng)計? 等等,每一個部門都可以有一個數據大屏,可以通過平臺任意規(guī)劃自己的大屏,所有人每天能夠關注到自己的領域動向,這才是大數據可視化應用的具體意義。
結語
洋洋灑灑寫了很多,對我近兩年的所見所聞所學所想進行了一些總結。
有些童鞋會問,不是技術么?為什么沒有代碼?我要說,代碼是要學的,要寫的,但是與工作無關,代碼是我個人的技能,個人傍身,實現(xiàn)個人想法的重要技能。 但是代碼與業(yè)務的關系不大,在工作中,懂業(yè)務的人代碼寫的更好,因為他知道公司想要什么。 如果你業(yè)務很差,那也沒關系,你代碼好就行了呀,根據別人的交代干活,也是很不錯的。技術和業(yè)務是相輔相成的,稍后博主總結代碼的精進。
寫完了,我的焦慮一絲未少,我的代碼規(guī)范性不夠,目前技術棧JS、Java、Node.js、Python 。
主業(yè)JS熟練度80%,正在研究阮一峰的es6(看的差不多)和vuejs的源碼(有點擱淺),vuejs算是中等,css和布局方面可以說還可以,另外d3.js,go.js都是處于會用,能干活。 Node.js呢,express和koa無問題,看過一些express的源代碼,還寫過兩個中間件。
Java、Python都處于能做項目的程度,目前也不想抽很多精力去深入它們,就想要保持在想用能用的地步。
未來的幾年,我打算多學學人工智能、大數據開發(fā)的知識,未來這塊應該還有一些熱度的。
最后和大家共勉,三人行,必有我?guī)熝伞?/p>
分享標題:sqlserver爬蟲,sql爬數據
當前路徑:http://aaarwkj.com/article12/dsspcdc.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、網站制作、企業(yè)建站、全網營銷推廣、軟件開發(fā)、微信公眾號
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)