大數據的出現背景最初為谷歌提出的三篇關於大數據的論文,分別是GFS論文,MapReduce論文和BigTable論文。這三篇論文奠定了
大數據發展的基礎。
如果有對這三篇論文感興趣的同學可以去瀏覽一下。我們常見的大數據框架hadoop,flume,hive,kafka,hbase,pig,spark.等等這些大數據框架,所謂大數據生態系統的集群,就是由這些大數據組件組成的大數據生態系統,每一個組件都有在處理各種數據的特點以及它自己獨特的優點,這些組件的出現為大數據的快速發展提供了基礎。我們舉例來學習hadoop組件,它由hdfs分布式文件系統和yran資源調度框架,類似於我們的cpu,起到管理資源的作用,另外一個組件是MapReduce計算框架,它是一種基於磁碟計算的計算框架,而和它功能相似的spark計算框架,是基於內存的計算框架,它的計算速度比MapReduce的計算速度快得多的多。MapReduce在編寫程序的時候,我們通常把它寫為三個類,分別是Driver類,Mapper類和Reduce類。這三個類裡面實現的邏輯是基於MapperReduce內部的實現原理來編寫和實現的。MapperReduce的實現原理,舉例,當我們想要統計輸入數據的相關信息時,首先進行inputsplit,即數據的分片。在一般情況下,一個分片對應一個map任務,由mapper的助理inputformar輸入文件讀取器,然後執行我們的map任務,然後講map階段得到的數據進行shuffle,即所謂的數據重新洗牌,由shuffle的助理sorter排序器進行數據的排序,最後階段Reduce程序進行規約,由助理outputformat輸出結果,實現原理很簡單,知道我們在IDE環境編寫相關的實現程序即可。大數據開發的基本框架是hadoop,在後續我們需要用到框架的時候,我們可以配置和安裝相應的生態組件,來完成我們需要實現的任務。後續持續為大家更新大數據框架相關知識。敬請期待....