下圖是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 中...