系统在地图侧对地图输出进行排序的过程称为排序。这是洗牌的一部分吗?换句话说,什么时候开始洗牌?将映射输出写入磁盘后,或者将映射输出写入内存中的缓冲区后
答案 0 :(得分:0)
此处详细解释了整个Map-reduce处理过程:http://ercoppa.github.io/HadoopInternals/AnatomyMapReduceJob.html
要回答您的问题,单一地图任务中的步骤包括:
执行和溢出阶段并行发生。因此,数据被写入循环缓冲存储器中 - >在内存中排序 - >缓冲区满80%时 - >写入本地磁盘。
在执行阶段结束时,最后一次触发SPILLING线程。更详细地说,我们:
请注意,每次缓冲区几乎已满,我们会得到一个溢出文件(SpillReciord +输出文件)。每个Spill文件都包含多个分区(段)。