在Map only任务中是否会有Shuffle和sort?

时间:2017-03-06 09:05:15

标签: hadoop mapreduce

随机播放和排序阶段是在map任务结束之前进行还是在从map任务生成输出之后进行,以便不再回顾map任务。这是一项仅限地图的任务'我感到困惑的情况。 如果在Map only任务中没有Shuffle和sort,有人可以解释数据是如何写入最终输出文件的。

1 个答案:

答案 0 :(得分:4)

当你有一个只有map的任务时,根本没有洗牌,这意味着mappers会将最终输出直接写入HDFS。

另一方面,如果你有一个完整的Map-Reduce程序,使用映射器和缩减器,是的,可以在reduce-phase启动之前启动shuffling。

在SO中引用this very nice answer

  

首先,改组是从中传输数据的过程   减速器的映射器,所以我认为很明显它是必要的   对于减速器,否则,他们将无法拥有任何减速器   输入(或来自每个映射器的输入)。洗牌甚至可以在之前开始   地图阶段已经完成,以节省一些时间。这就是你能看到的原因   地图时减少状态大于0%(但小于33%)   状态还不是100%。

希望这个答案澄清了你的困惑。