在hadoop中,在shuffle阶段,reducer在哪里复制它的输入

0kjbasz6  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(313)

在hadoop中,Map器的输出在shuffle阶段被复制到reducer。reducer必须从不同的Map器复制相应的分区。在开始实际的reduce过程之前,reducer在哪里存储其输入?

7gcisfzg

7gcisfzg1#

如果Map输出足够小(缓冲区的大小由mapred.job.shuffle.input.buffer.percent控制,它指定了用于此目的的堆的比例),则将它们复制到reduce任务jvm的内存中;否则,它们将被复制到磁盘。当内存缓冲区达到阈值大小(由mapred.job.shuffle.merge.percent控制)或达到阈值Map输出数(mapred.inmem.merge.threshold)时,它将被合并并溢出到磁盘。如果指定了组合器,则在合并期间将运行该组合器以减少写入磁盘的数据量。
参考hadoop的权威指南

相关问题