大數據學習路線

1、大數據介紹

大數據本質也是數據,可是又有了新的特徵,包括數據來源廣、數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至多是PB級別)、數據增加速度快等。算法

針對以上主要的4個特徵咱們須要考慮如下問題:sql

  1. 數據來源廣,該如何採集彙總?,對應出現了Sqoop,Cammel,Datax等工具。編程

  2. 數據採集以後,該如何存儲?,對應出現了GFS,HDFS,TFS等分佈式文件存儲系統。架構

  3. 因爲數據增加速度快,數據存儲就必須能夠水平擴展。併發

  4. 數據存儲以後,該如何經過運算快速轉化成一致的格式,該如何快速運算出本身想要的結果?app

    對應的MapReduce這樣的分佈式運算框架解決了這個問題;可是寫MapReduce須要Java代碼量很大,因此出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;框架

    普通的MapReduce處理數據只能一批一批地處理,時間延遲太長,爲了實現每輸入一條數據就能獲得結果,因而出現了Storm/JStorm這樣的低時延的流式計算框架;機器學習

    可是若是同時須要批處理和流處理,按照如上就得搭兩個集羣,Hadoop集羣(包括HDFS+MapReduce+Yarn)和Storm集羣,不易於管理,因此出現了Spark這樣的一站式的計算框架,既能夠進行批處理,又能夠進行流處理(實質上是微批處理)。分佈式

  5. 然後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。高併發

  6. 爲了提升工做效率,加快運速度,出現了一些輔助工具:

    • Ozzie,azkaban:定時任務調度的工具。
    • Hue,Zepplin:圖形化任務執行管理,結果查看工具。
    • Scala語言:編寫Spark程序的最佳語言,固然也能夠選擇用Python。
    • Python語言:編寫一些腳本時會用到。
    • Allluxio,Kylin等:經過對存儲的數據進行預處理,加快運算速度的工具。

以上大體就把整個大數據生態裏面用到的工具所解決的問題列舉了一遍,知道了他們爲何而出現或者說出現是爲了解決什麼問題,進行學習的時候就有的放矢了。

2、大數據相關工做介紹

大數據方向的工做目前主要分爲三個主要方向:

  1. 大數據工程師
  2. 數據分析師
  3. 大數據科學家
  4. 其餘(數據挖掘等)

【必須掌握的技能】

  1. Linux 基本操做
  2. Hadoop(HDFS+MapReduce+Yarn )
  3. HBase(JavaAPI操做+Phoenix )
  4. Hive(Hql基本操做和原理理解)
  5. Kafka
  6. Storm/JStorm
  7. Scala
  8. Python
  9. Spark (Core+sparksql+Spark streaming )
  10. 輔助小工具(Sqoop/Flume/Oozie/Hue等)

【高階技能】

  1. 機器學習算法以及mahout庫加MLlib
  2. R語言
  3. Lambda 架構
  4. Kappa架構
  5. Kylin
  6. Alluxio

3、學習路徑

1)Linux學習(鳥哥教材)

2)Java 高級學習(《深刻理解Java虛擬機》、《Java高併發實戰》)

3)Zookeeper學習

4)Hadoop (《Hadoop 權威指南》)

5)Hive(《Hive開發指南》)
 
6)HBase(《HBase權威指南》)
 
7)Scala(《快學Scala》)
 
8)Spark (《Spark 權威指南》)
 
9)Python
推薦一個大數據學習羣 142974151天天晚上20:10都有一節【免費的】大數據直播課程,專一大數據分析方法,大數據編程,大數據倉庫,大數據案例,人工智能,數據挖掘都是純乾貨分享,
相關文章
相關標籤/搜索