MapReduce2 0 原理 架構 應用場景

2021-07-10 23:33:32 字數 1359 閱讀 5610

良好的擴充套件性,即可以很容易的增加節點

適合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...