shuffle(洗牌)把mapper階段的結(jié)果拷貝到reducer階段
分為兩部分,mapshuffle,reduceshuffle
- mapshuffle:map的輸出結(jié)果輸出到內(nèi)存的緩沖區(qū),緩沖區(qū)數(shù)量和map數(shù)量對應(yīng),緩沖區(qū)有百分比,map寫入緩沖區(qū)超過了這個百分比,就會自動刷入map的機(jī)器本地磁盤
內(nèi)存在這里做了一些操作:分區(qū)(和reduce數(shù)量一致),排序,map的輸出結(jié)果不斷地從緩沖區(qū)中刷出,刷出多個文件,后臺會有一個線程按照分區(qū)合并這些文件 - reduceshuffle:會拷貝map的結(jié)果,把文件先做一個排序,再做合并,這些數(shù)據(jù)作為reduce的輸入