當前位置:
首頁 > 知識 > MapReduce中源碼分析(map端的過程)

MapReduce中源碼分析(map端的過程)

MapReduce階段,map中key面向文章的偏移量=上一行面向文章的偏移量+本行相對於上一行的偏移量+本單詞相對於本行的偏移量。 這個key為本單詞相對於文章的偏移量 這個是MapReduce中map的輸出,調用context的write方法,前邊對應的是key,後邊對應的是value的值。 在方法被調用的時候,方法中參數的傳遞有兩種:值傳遞和應用傳遞 應用傳遞,傳遞的是地址 以上這種是值傳遞,外部的值不會跟著內部的值的變化而變化的 int a=3; { a=5 } a=3 //方法的實現體中對a進行重新賦值 //外部的a=3不會隨著內部a=5的變化而變化的 int a=3; { *a=5 } a=5 //內部的a傳遞的是外部的a的應用地址 Integer a= new Integer a { a=5 } a=5 //這種傳遞是應用傳遞,傳遞的是堆內存中對象的應用地址 這種就是應用傳遞了。 放在這個地方是為了避免頻繁地GC 輸入數據集由map映射成中間數據集,也就是映射成了(K,V)鍵值對的形式 中間數據集最終交給reduce去完成 reduce端從map端拉取數據,reduce的輸入來自map的輸出 map端完成的是計算向數據移動的過程,map的輸出會存在map的主機,供reduce從map端拉取數據的,也就是抽象的名詞叫做shuffle,也就是reduce端數據向計算移動的過程,而map端完成的是計算向數據移動的過程。 reduce端完成的是數據向計算移動的過程

MapReduce中源碼分析(map端的過程)

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

大眾點評點餐小程序開發經驗之發布與推廣
String str = "ab" +"cd";共創建幾個對象

TAG:程序員小新人學習 |