MapReduce原始碼 二

2021-07-03 20:01:34 字數 429 閱讀 2340

下圖是context類的繼承關係:

不同層次的類的互動物件有所不同:

mapcontext 關注   recordreaderreader 和 inputsplit split;

taskinputoutputcontext關注: recordwriteroutput; statusreporter reporter; outputcommitter committer

taskattemptcontext關注:taskid

jobcontext關注:configuration conf 和jobid jobid

這樣一層層傳到上層類中的東西也越來越少,而在各層則會報告各自關注的物件。



MapReduce原始碼分析心得

分布式計算追求 沒有計算發生。支撐了計算向資料移動,和計算的並行度。做的最主要的是 儲存與計算解耦,就是對所要進行切片的資料進行split切片,split map並行度 split預設是與block塊數量一致,目的是為了計算向資料移動,幾個block塊分布在幾個地方,就起幾個map,這樣就不需要讓大...

MapReduce流程講解以及原始碼分析

對於使用者來說只需要書寫map操作和reduce操作 mapreduce計算資料的時間較長 整個過程分為map和reduce,map負責處理原始資料,reduce負責處理map資料 1.map過程 block 塊 物理上的概念,預設是128m split 切片 本次map任務要處理的資料的大小 預設...

從原始碼分析MapReduce的資料切片原理

切片過程從jobsubmitter的writesplits 開始 step into getsplits 開始獲取新的切片 首先會選出format預設最小值和配置檔案中設定的切片最小值 二者中最大的乙個 getformatmainsplitsize 預設返回值為1 getminsplitsize 中...