大數據入門乾貨

  首先,提及大數據一詞的概念。大數據本質還在於數據,但是它有着新的特徵亮點。包括:數據來源廣,數據格式多樣化(結構化數據、非結構化數據、Excel文件、文本文件等)、數據量大(最少也是TB級別的、甚至可能是PB級別)、數據增長速度快等等。

  擴展講大數據的4個基本特徵,我們將進行下面額思考:

1.數據來源廣?

  廣泛的數據來源從何而來,通過何種方式進行採集與彙總?相對應的我們出現Sqoop,

Cammel,Datax等工具。

2.數據採集之後,該如何存儲?

  採集之後,爲了方便存儲,我們對應的出現了GFS,HDFS,TFS等分佈式文件存儲系統。

  並且,介於數據的增長速度非常之快,這也就要求我們,數據存儲必須可以進行水平擴展。

3.數據存儲之後,該如何通過運算快速轉化成一致的格式,又該如何快速運算出自己想要的結果?

  對此,MapReduce的分佈式運算框架提出瞭解決方案。但是由於MapReduce需要java的編程代碼較多,由此,又出現了Hive,Pig等將SQL轉化成MapReduce的解析引擎;再有,因普通的MapReduce只能一批一批地批量處理數據,時間消耗過多,最終目的又要求我們輸入的一條數據就能得到結果,於是又出現了Storm/JStorm這樣的低時延的流式計算框架;但是如果同時需要批處理和流處理,按照如上就得搭兩個集羣,Hadoop集羣(包括HDFS+MapReduce+Yarn)和Storm集羣,不易於管理,所以出現了Spark這樣的一站式的計算框架,既可以進行批處理,又可以進行流處理(實質上是微批處理)。而後Lambda架構,Kappa架構的出現,又提供了一種業務處理的通用架構。

4.此外,爲了提高工作效率,加快運速度,出現了一些輔助工具:

Ozzie,azkaban:定時任務調度的工具。

Hue,Zepplin:圖形化任務執行管理,結果查看工具。

Scala語言:編寫Spark程序的最佳語言,當然也可以選擇用Python。

Python語言:編寫一些腳本時會用到。

Allluxio,Kylin等:通過對存儲的數據進行預處理,加快運算速度的工具。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章