MapReduce:詳解Shuffle過(guò)程 - 每天一小步 - ITeye技術(shù)網(wǎng)站
http://langyu.iteye.com/blog/992916
Shuffle過(guò)程是MapReduce的核心,也被稱為奇跡發(fā)生的地方盗忱。要想理解MapReduce酱床, Shuffle是必須要了解的。我看過(guò)很多相關(guān)的資料趟佃,但每次看完都云里霧里的繞著扇谣,很難理清大致的邏輯,反而越攪越混闲昭。前段時(shí)間在做MapReduce job 性能調(diào)優(yōu)的工作罐寨,需要深入代碼研究MapReduce的運(yùn)行機(jī)制,這才對(duì)Shuffle探了個(gè)究竟序矩⊙炻蹋考慮到之前我在看相關(guān)資料而看不懂時(shí)很惱火,所以在這里我盡最大的可能試著把Shuffle說(shuō)清楚簸淀,讓每一位想了解它原理的朋友都能有所收獲楞慈。如果你對(duì)這篇文章有任何疑問(wèn)或建議請(qǐng)留言到后面,謝謝啃擦!
這張是官方對(duì)Shuffle過(guò)程的描述囊蓝。但我可以肯定的是,單從這張圖你基本不可能明白Shuffle的過(guò)程令蛉,因?yàn)樗c事實(shí)相差挺多聚霜,細(xì)節(jié)也是錯(cuò)亂的狡恬。后面我會(huì)具體描述Shuffle的事實(shí)情況,所以這里你只要清楚Shuffle的大致范圍就成-怎樣把map task的輸出結(jié)果有效地傳送到reduce端蝎宇。也可以這樣理解弟劲, Shuffle描述著數(shù)據(jù)從map task輸出到reduce task輸入的這段過(guò)程。
與 Hadoop 對(duì)比姥芥,如何看待 Spark 技術(shù)兔乞? - 大數(shù)據(jù) - 知乎
https://www.zhihu.com/question/26568496
Sort和Shuffle是MapReduce上最核心的操作之一,比如上千個(gè)Mapper之后凉唐,按照Key將數(shù)據(jù)集分發(fā)到對(duì)應(yīng)的Reducer上庸追,要走一個(gè)復(fù)雜的過(guò)程,要平衡各種因素台囱。