SortShuffle之BypassMergeSortShuffleWriter

BypassMergeSortShuffleWriter

BypassMergeSortShuffleWriter和Hash Shuffle中的HashShuffleWriter实现基本一致,唯一的区别在于,map端的多个输出文件会被汇总为一个文件,如下图所示:

MM * 2个中间文件

Map端结果按照bucket顺序依次写入dataFile文件中,这么处理后,Shuffle生成的文件数显著减少了,同时还会生成indexFile文件,记录各个bucket在dataFile中的位置,用于后续reducer随机读取文件。

最终生成的文件个数为:MM * 2,就Map数量的2倍(数据文件+索引文件)个文件。

其中UnsafeShuffleWriter和SortShuffleWriter也是这么处理的。

#

你可能感兴趣的:(SortShuffle之BypassMergeSortShuffleWriter)