hadoop必须在reduce之前完成映射吗?

hadoop必须在reduce之前完成映射吗?,hadoop,mapreduce,Hadoop,Mapreduce,我大学的讲师说(Hadoop)reduce操作只有在所有map操作完成后才能开始 这与map reduce stream操作的输出形成对比,map reduce stream操作有时会清楚地显示: map 80% reduce 13% map 80% reduce 27% and then map 100% reduce 27% . . map 100% reduce 100% (我家里有一个map reduce三节点集群,我做了一些流媒体工作) 如果我的讲师知道他在说什么,那么输出意味着什么

我大学的讲师说(Hadoop)reduce操作只有在所有map操作完成后才能开始

这与map reduce stream操作的输出形成对比,map reduce stream操作有时会清楚地显示:

map 80% reduce 13%
map 80% reduce 27%
and then
map 100% reduce 27%
.
.
map 100% reduce 100%
(我家里有一个map reduce三节点集群,我做了一些流媒体工作)


如果我的讲师知道他在说什么,那么输出意味着什么?当reduce已启动但map未完成时,作业处于什么状态?

reduce阶段有3个步骤:

1) 复制(数据到减速机)

2) 排序(或者更准确地说是合并)

3) reduce(reduce()的执行)

当映射器完成其执行时,还原程序可以从映射器开始处理数据

默认情况下,调度程序会等待作业中5%的映射任务在之前完成 调度减少同一作业的任务。对于大型作业,这可能会导致以下问题: 群集利用率,因为它们在等待映射任务完成时占用了reduce插槽 完成设置mapred.reduce.slowstart.completed.maps到更高的值,例如 0.80(80%)有助于提高吞吐量