回覆列表
-
1 # IT人劉俊明
-
2 # 榆次大學長
大資料呢,就相當於人的大腦從小學到大學學習過的所有知識。而這些知識在歲月的磨礪中,很多很多都已經完全忘記了。但是這些資料只有透過消化,吸收、再造才能創造出更大的價值。就像現在考事業編制,考試題大部分都是九年義務教育學習過的知識,但是時間太久了,你知道你學過,但就是想不起來!“大資料”就是讓你充分利用曾經擁有過的知識。
雲計算和大資料是密不可分的!物聯網就是要給所有的物品一個IP地址,有了地址才可以實現萬物互聯,連線起來的資料都要進行儲存,存在什麼地方呢?
存在雲端上,這所有的資料進行分析處理,就是發揮大資料的應用!而最基礎的也是最起碼的,你得學會使用Linux作業系統,因為所有的網際網路技術都離不開Linux的核心,只有達到了紅帽系統架構師RHCA的級別,才能熟練使用openstack,這些都是學習大資料的前提
學習大資料是目前的一個熱潮,不論是高校的學生還是網際網路從業人員都在學習大資料知識,今天藉著這個問題跟大家聊一聊大資料的來龍去脈,以及如果要學習大資料應該從哪入手。另外,如果大家對大資料感興趣可以關注我,我會陸續寫一些關於大資料的科普文章。
大資料涉及到以資料為中心的一系列處理步驟,涉及到資料的採集、整理、傳輸、儲存、安全、分析、呈現等具體內容。其中資料的採集涉及到物聯網技術,儲存和分析也依賴於雲計算平臺的支撐,同時還需要大規模的基礎資料框架作為資料分析環境,比如Hadoop、Spark等,而具體的分析則依賴於統計、機器學習等相關內容,另外還涉及到流處理等。
大資料涉及到的內容比較多,其中一些內容也比較複雜,所以學習大資料需要一個系統的過程,下面我就以資料的流向為線索來說一下應該如何學習大資料。
物聯網應用主要體現在六個方面,分別是:裝置、網路、平臺、分析處理、服務應用,以及貫穿這幾個部分的安全。物聯網關注的一個重要內容是裝置,物聯網的核心就是裝置之間的資訊交換,以及透過這些資訊完成各種控制。所以瞭解裝置是瞭解物聯網的第一步,裝置的主要組成包括:微控制器、輸入裝置、輸出裝置以及網路連線。
微控制器的主機板有多種型別,在學習物聯網的初期通常選擇Arduino、Raspberry Pi(樹莓派),或者是英特爾的Edison(貴一些)。
接下來就是資料要透過網路傳遞到雲計算平臺。
資料的儲存和處理——雲計算物聯網裝置通常透過閘道器來連線到網際網路並接入到雲計算平臺,當然有的裝置也可以直接連線到雲端,雲計算平臺為大資料提供了數儲存和分析的支撐環境。
雲計算平臺往往搭建在大型資料中心之上,當然也有規模並不太大的私有云,不管是大型的公有云還是小規模的私有云都是大量計算資源的整合,透過虛擬化技術實現資源的動態管理,以便於實現分散式儲存和計算。儲存大資料的資料庫目前是RDB結合文件資料庫的方式,結構化資料存在RDB資料庫中,以便於結合兩種資料庫的優點,當然掌握Sql是必要的。
瞭解雲計算平臺的組成及作用是學習大資料的重要環節,接著就是在雲計算平臺搭建大型基礎資料框架,完成大資料分析處理。
基礎資料處理框架——大資料分析大資料應用的重要環節是資料分析,透過資料分析能得出大資料的價值,而資料分析往往需要大型基礎資料處理框架,比如Hadoop、Spark。
Hadoop、Spark能夠快速處理大量資料,Hadoop基於分散式磁碟處理大量資料,而Spark則在記憶體中完成資料的迭代處理,無論哪種方式都能快速完成資料的分析過程。
資料分析又分為視覺化分析、發現分析和預測分析,其中視覺化分析的重要組成部分就是統計分析和機器學習兩種方式。
機器學習分為監督學習和非監督學習兩個大類,這部分就需要透過各種演算法來完成具體的資料分析任務,比如迴歸、決策樹、貝葉斯、支援向量機等。
關於演算法的實現語言,我比較推薦使用Python,我個人就是從Java轉向Python的。
總結經過以上分析,學習大資料先從物聯網入手,瞭解物聯網的組成(不用自己焊板子),接著瞭解雲計算平臺的作用,然後開始搭建基礎資料處理平臺:Hadoop,選擇一門語言做演算法實現完成資料分析。
目前做大資料比較常見的語言包括Java、Python和Scala,個人比較推薦Python,因為Python比較方便。
如果你有關於大資料方面的問題可以諮詢我。