我搜索了很多,我知道在每个map任务中,当缓冲区的内容到达阈值时,一个线程根据reduce的数量对数据进行分区。这里减少数字的作用是什么?为什么在map中发生分区?它如何帮助映射阶段?在排序后,线程会将内容溢出到磁盘。 怎么会发生?我不能理解溢出的意思..... 感谢。
答案 0 :(得分:0)
映射需要在reducers轮询时对数据进行分区,并从每个映射器中提取与reducer相关的所有数据。
如果你想象它反过来 - reducer从每个map中提取所有输出然后你将每个mapper的所有数据输出发送到每个reducer - 非常低效。
因此,通过在映射器中进行分区,reducer能够查询并撤回每个映射器所需的数据。