大數據方向的工作目前分爲三個主要方向:
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做個瞭解和學習,防止在以後的工作中會遇到
好了,大數據的學習體系就簡單的爲大家分享到這裏。