1. 程式人生 > >【Hadoop學習筆記】——Hadoop基礎

【Hadoop學習筆記】——Hadoop基礎

圖片名稱


大資料時代

當前時代是資料爆炸的時代,全球各個網站、電子裝置等都在源源不斷地產生著大量資料.2006年數字世界專案統計得出全球資料總量為0.18ZB,2011年全球資料量1.8ZB,2013全球資料量4.4ZB,2014年全球資料總量在6.2ZB左右,2015年全球資料總量在8.6ZB左右,2016年12ZB左右,2020年的時候,全球的資料總量將達到40ZB。(小編的印象裡,高中時用的手機記憶體卡是512M,當時就感覺已經很牛逼了,現在16G、32G都感覺不夠用~)

1KB=1024B 
1MB=1024KB 
1GB=1024MB 
1TB=1024GB 
1PB=1024TB 
1EB=1024PB 
1ZB=1024EB 1YB=1024ZB 1BB=1024YB 1NB=1024BB 1DB=1024NB 1CB=1024DB 1XB=1024CB
圖片名稱


Hadoop初識

  隨著資料量的急劇增加,遇到的兩個最直接的問題就是資料儲存和計算(分析/利用)。
  Hadoop是一個用Java實現的分散式基礎框架,也可以看做是一個支援開發、執行由通用計算裝置組成的大型叢集上的分散式應用的平臺。Hadoop中的兩個最重要的元件—HDFS和MapReduce就是用來解決海量資料(分散式)儲存、海量資料(分散式)計算的。

  HDFS(HadoopDistributedFileSystem):Hadoop分散式檔案儲存系統,可以利用多臺價格低廉的機器,分散式儲存海量的資料。HDFS有兩種節點,NameNode和DataNode。DataNode主要用來儲存資料,NameNode管理著整個檔案系統的互動。相對於普通的檔案系統,HDFS顯著的特點是分散式海量儲存、備份機制。

圖片名稱


  MapReduce:平行計算框架,MapReduce其實是一種分散式計算模型,多個計算機平行計算,共同做一件事情。

  用一個簡單的例子來說明MapReduce,比如要做如下公式的求和結果,當涉及到的計算量比較大時,可以把任務拆分成幾個部分,每個部分分別有一臺計算機處理,然後每臺計算機處理的結果再進行彙總。

圖片名稱


Hadoop應用場景

  簡單認識了什麼是Hadoop,再來了解一下Hadoop一般都適用於哪些場景。

  Hadoop主要應用於大資料量的離線場景,特點是大資料量、離線。
1、資料量大:一般真正線上用Hadoop的,叢集規模都在上百臺到幾千臺的機器。這種情況下,T級別的資料也是很小的。

  另外,由於HDFS設計的特點,Hadoop適合處理檔案塊大的檔案。大量的小檔案使用Hadoop來處理效率會很低。

  Hadoop常用的場景有:
  大資料量儲存:分散式儲存(各種雲盤,百度,360~還有云平臺均有hadoop應用)
  日誌處理
  海量計算,平行計算
  資料探勘(比如廣告推薦等)
  行為分析,使用者建模等
  ……