[概念]Shuffle過程是MapReduce的核心,也被稱為奇跡發(fā)生的地方。要想理解MapReduce, Shuffle是必須要了解的。

MapReduce:詳解Shuffle過程 - 每天一小步 - ITeye技術(shù)網(wǎng)站
http://langyu.iteye.com/blog/992916
Shuffle過程是MapReduce的核心,也被稱為奇跡發(fā)生的地方。要想理解MapReduce, Shuffle是必須要了解的。我看過很多相關(guān)的資料,但每次看完都云里霧里的繞著,很難理清大致的邏輯,反而越攪越混。前段時間在做MapReduce job 性能調(diào)優(yōu)的工作,需要深入代碼研究MapReduce的運(yùn)行機(jī)制,這才對Shuffle探了個究竟??紤]到之前我在看相關(guān)資料而看不懂時很惱火,所以在這里我盡最大的可能試著把Shuffle說清楚,讓每一位想了解它原理的朋友都能有所收獲。如果你對這篇文章有任何疑問或建議請留言到后面,謝謝!

官方對Shuffle過程的描述.png

這張是官方對Shuffle過程的描述。但我可以肯定的是,單從這張圖你基本不可能明白Shuffle的過程,因為它與事實相差挺多,細(xì)節(jié)也是錯亂的。后面我會具體描述Shuffle的事實情況,所以這里你只要清楚Shuffle的大致范圍就成-怎樣把map task的輸出結(jié)果有效地傳送到reduce端。也可以這樣理解, Shuffle描述著數(shù)據(jù)從map task輸出到reduce task輸入的這段過程。


與 Hadoop 對比,如何看待 Spark 技術(shù)? - 大數(shù)據(jù) - 知乎
https://www.zhihu.com/question/26568496
Sort和Shuffle是MapReduce上最核心的操作之一,比如上千個Mapper之后,按照Key將數(shù)據(jù)集分發(fā)到對應(yīng)的Reducer上,要走一個復(fù)雜的過程,要平衡各種因素。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容