大資料學習入門必備規劃,想學習大資料?這才是完整的大資料學習體系
大資料方向的工作目前分為三個主要方向:
01.大資料工程師
02.資料分析師
03.大資料科學家
04.其他(資料探勘本質算是機器學習,不過和資料相關,也可以理解為大資料的一個方向吧)
一、大資料工程師的技能要求
二、大資料學習路徑
三、學習資源推薦(書籍、部落格、網站)
一、大資料工程師的技能要求
總結如下:
必須技能10條:
01.Java高階程式設計(虛擬機器、併發)
02.Linux 基本操作
03.Hadoop(此處指HDFS+MapReduce+Yarn )
04.HBase(JavaAPI操作+Phoenix )
05.Hive
06.Kafka
07.Storm
08.Scala
09.Python
10.Spark (Core+sparksql+Spark streaming )
進階技能6條:
11.機器學習演算法以及mahout庫加MLlib
12.R語言
13.Lambda 架構
14.Kappa架構
15.Kylin
16.Aluxio
二、學習路徑
很多初學者,對大資料的概念都是模糊不清的,大資料是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入瞭解,想學習的同學歡迎加入大資料學習qq群:199427210,有大量乾貨(零基礎以及進階的經典實戰)分享給大家學習。
第一階段:
01.Linux學習
02.Java 高階學習(《深入理解Java虛擬機器》、《Java高併發實戰》)
第二階段:
03.Hadoop
04.HBase
05.Hive
06.Scala
07.Spark
08.Python
第三階段:
對應技能需求,到網上多蒐集一些資料就ok了,
我把最重要的事情(要學什麼告訴你了),
剩下的就是你去搜集對應的資料學習就ok了
當然如果你覺得自己看書效率太慢,你可以網上搜集一些課程,跟著課程走也OK 。這個完全根據自己情況決定,如果看書效率不高就上網課,相反的話就自己看書。
07.至於書籍噹噹、京東一搜會有很多,其實內容都差不多 那麼如何從零開始規劃大資料學習之路! 大資料的領域非常廣泛,往往使想要開始學習大資料及相關技術的人望而生畏。大資料技術的種類眾多,這同樣使得初學者難以選擇從何處下手。本文將為你開始學習大資料的征程以及在大資料產業領域找到工作指明道路,提供幫助。
如何開始學習大資料?
人們想開始學習大資料的時候,最常問我的問題是,“我應該學Hadoop(hadoop是一款開源軟體,主要用於分散式儲存和計算,他由HDFS和MapReduce計算框架組成的,他們分別是Google的GFS和MapReduce的開源實現。由於hadoop的易用性和可擴充套件性,因此成為最近流行的海量資料處理框架。), 分散式計算,Kafka(Kafka是由LinkedIn開發的一個分散式基於釋出/訂閱的訊息系統),NoSQL(泛指非關係型的資料庫)還是Spark(Spark 是一種與 Hadoop 相似的開源叢集計算環境,但是兩者之間還存在一些不同之處)?”
而我通常只有一個答案:“這取決於你究竟想做什麼。”
與大資料相關的工作?
(1)大資料系統研發工程師:負責大資料系統研發工作,包括大規模非結構化資料業務模型構建、大資料儲存、資料庫架構設計以及資料庫詳細設計、優化資料庫構架、解決資料庫中心建設設計問題。他們還負責叢集的日常運作、系統的監測和配置、Hadoop與其他系統的整合。
(2)大資料應用開發工程師:負責搭建大資料應用平臺、開發分析應用程式。他們熟悉工具或演算法、程式設計、包裝、優化或者部署不同的MapReduce事務。他們以大資料技術為核心,研發各種基於大資料技術的應用程式及行業解決方案。
(3)大資料分析師:運用演算法來解決分析問題,並且從事資料探勘工作。他們最大的本事就是能夠讓資料道出真相;此外,他們還擁有某個領域的專長,幫助開發資料產品,推動資料解決方案的不斷更新。
(4)資料視覺化工程師:具備良好的溝通能力與團隊精神,責任心強,擁有優秀的解決問題的能力。他們負責在收集到的高質量資料中,利用圖形化的工具及手段的應用,一目瞭然地揭示資料中的複雜資訊,幫助企業更好的進行大資料應用開發,發現大資料背後的巨大財富。
你適合大資料什麼方向呢?
現在我們已經瞭解了行業中可供選擇的職業種類,讓我們想辦法來確定哪個領域適合你。這樣,我們才能確定你在這個行業中的位置。通常來說,基於你的教育背景和行業經驗可以進行分類。
例1:“我是一名電腦科學畢業生,不過沒有堅實的數學技巧。”
你對電腦科學或者數學有興趣,但是之前沒有相關經驗,你將被定義為一個新人。
例2:“我是一個電腦科學畢業生,目前正從事資料庫開發工作。”
你的興趣在電腦科學方向,你適合計算機工程師(資料相關工程)的角色。
大資料學習之路
核心是,大部分大資料技術都是用Java或Scala編寫的。但是別擔心,如果你不想用這些語言編寫程式碼,那麼你可以選擇Python或者R,因為大部分的大資料技術現在都支援Python和R。
因此,你可以從上述任何一種語言開始。 我建議選擇Python或Java。
接下來,你需要熟悉雲端工作。 這是因為如果你沒有在雲端處理大資料,沒有人會認真對待。 請嘗試在AWS,softlayer或任何其他雲端供應商上練習小型資料集。 他們大多數都有一個免費的層次,讓學生練習。如果你想的話,你可以暫時跳過此步驟,但請務必在進行任何面試之前在雲端工作。
接下來,你需要了解一個分散式檔案系統。最流行的分散式檔案系統就是Hadoop分散式檔案系統。在這個階段你還可以學習一些你發現與你所在領域相關的NoSQL資料庫。
那麼我們一起來看看大資料經典學習路線(及供參考)
第一階段:linux系統
本階段為大資料學習入門基礎課程,幫大家進入大資料領取打好Linux基礎,以便更好的學習Hadoop、habse、NoSQL、saprk、storm等眾多技術要點。
另:目前企業中無疑例外是使用Linux來搭建或部署專案的
第二階段:大型網站高併發處理
本階段的學習是為了讓大家能夠了解大資料的源頭,資料從而而來,繼而更好的瞭解大資料。通過學習處理大型網站高併發問題反向的更加深入的學習Linux,同事站在了更高的角度去觸探架構
第三階段:Hadoop學習
1、Hadoop分散式檔案系統:HDFS
詳細解剖HDFS,瞭解其工作原理,打好學習大資料的基礎
2、Hadoop分散式計算框架:MapReduce
MapReduce可以說是任何一家大資料公司都會用到的計算框架,也是每個大資料工程師應該熟練掌握的
3、Hadoop離線體系:Hive
hive是使用SQL盡心計算的Hadoop框架,工作中經常會使用,也是面授的重點
4、Hadoop離線計算體系:HBASE
HBASE的重要性不言而喻,即便是工作多年的大資料工程師也是需要去重點學習HBASE效能優化的
第四階段:zookeeper開發
zookeeper在分散式叢集中的地位越來越突出,對分散式應用的開發也提供了極大的便利,學習zookeeper的時候,我們主要學習zookeeper的深入,客戶端開發、日常運維、web介面監控等等。學好此部分的內容對後面技術的學習也是至關重要的。
第五階段:elasticsearch分散式搜尋
第六階段:CDH叢集管理
第七階段:storm實時資料處理
本階段覆蓋storm內部機制和原理,掌握從資料採集到實時極端到資料儲存再到前臺展示,一人講所有的工作全部完成,知識覆蓋面廣
第八階段:Redis快取資料庫
對Redis做個全部的學習,包括其特點、雜湊集合型別、字串型別等等,最後到優化,做個詳細的學習
第九階段:spark核心部分
本階段內容覆蓋了spark生態系統的概述及其程式設計模型,深入核心的研究,Spark on Yarn,Spark Streaming流式計算原理與實踐,Spark SQL,Spark的多語言程式設計以及SparkR的原理和執行。
在瞭解了以上知識點後,雲端計算機器學習的部分也是至關重要的。通常在雲端計算這部分內容,我們會對Docker、虛擬化KVM、雲平臺OpenStack做個瞭解和學習,防止在以後的工作中會遇到
好了,大資料的學習體系就簡單的為大家分享到這裡。