在Hadoop中,映射器的输出在shuffle阶段被复制到reducer。 reducer必须从不同的映射器复制其相应的分区。在开始实际的减少过程之前,reducer在哪里存储其输入?
答案 0 :(得分:0)
如果是,则将地图输出复制到reduce任务JVM的内存中 足够小(缓冲区的大小由 mapred.job.shuffle.input.buffer.percent,它指定了 用于此目的的堆的比例);否则,他们是 复制到磁盘。当内存缓冲区达到阈值大小时 (由mapred.job.shuffle.merge.percent控制)或达到 阈值数量的地图输出(mapred.inmem.merge.threshold),它是 合并并溢出到磁盘。如果指定了组合器,则将运行它 在合并期间减少写入磁盘的数据量。
Ref- Hadoop权威指南