良好的擴充套件性,即可以很容易的增加節點
適合pb級別的資料的離線處理
map階段:
輸入資料的解析:inputformat
輸入分組:partitioner
本節點的規約:combiner ,
reduce階段:
shuffling階段拉取資料
桶排序,是乙個hash過程,使得相同的key可以排在一堆
資料規約:reducer
資料輸出格式: outputformat
詳細介紹:
inputformat
將檔案進行分片,inputsplit方法,處理跨行問題
將分片資料解析成key/val 對,預設實現是textinputformat,其中key是控制代碼偏移量,value是行內容
關於split和block的解釋
預設情況下split就是hdfs中的乙個block,但是使用者可以自定義split與block的對應關係。
理解partitioner
hash(key)mode r
r 是 reduce task 的數目
演算法得到的。使用者根據需要可以自定義partitioner演算法,使得同類的資料可以在乙個reducer上執行,使得效率提公升。
理解combiner
mapreduce2.0執行在yarn之上。yarn
由resourcemanager(rm) 和nodemanager(nm)兩大塊組成。
什麼是資料本地性(data locality)
如果任務執行在它將處理的資料所在的節點,則稱該任務具有「資料本地性」
本地性可避免跨節點或機架資料傳輸,提高執行效率
資料本地性分類
同節點(node-local)
同機架(rack-local)
其他(off-switch)
作業完成時間取決於最慢的任務完成時間
乙個作業由若干個map任務和reduce任務構成
因硬體老化、軟體bug等,某些任務可能執行非常慢
推測執行機制
發現拖後腿的任務,比如某個任務執行速度遠慢於任務平均速度
為拖後腿任務啟動乙個備份任務,同時執行
誰先執行完,則採用誰的結果
不能啟用推測執行機制的情景
任務間存在嚴重的負載傾斜
特殊任務,比如任務向資料庫中寫資料
MapReduce2 0原理及基本架構
mapreduce是hadoop核心框架之一,我們知道hadoop是又分布式檔案系統hdfs和分布式計算框架組成。mapreduce就是一種離線資料計算框架。那麼作為計算機框架的套路,會有輸入經過處理後輸出結構,mapreduce就是將任務分為兩個階段 map階段和reduce階段。每個階段都是用鍵...
MapReduce 2 0應用場景 原理與基本架構
現介紹計算框架mapreduce。mapreduce乙個應用場景是有大量檔案,裡面儲存了單詞,且乙個單詞佔一行 執行任務是如何統計每個單詞出現的次數?類似應用場景有搜尋引擎中,統計最流行的k個搜尋詞以及統計搜尋詞頻率,幫助優化搜尋詞提示 mapreduce將作業的整個執行過程分為兩個階段 map階段...
MapReduce環境 原理 架構及操作
hadoop培訓課程 mapreduce環境 原理 架構及操作 1 環境說明 hadoop搭建環境 l 虛擬機器作業系統 centos6.6 64位,單核,1g記憶體 l jdk 1.7.0 55 64位 l hadoop 1.1.2 2 mapreduce原理 2.1 mapreduce簡介 ma...