提问者:小点点

仅地图任务中会有洗牌和排序吗?


混洗和排序阶段是在地图任务结束之前还是在地图任务生成输出后出现,这样就不会再回头看地图任务了。这是一个“仅地图任务”的情况,我感到困惑。如果仅地图任务中没有混洗和排序,有人能解释一下数据是如何写入最终输出文件的吗?


共1个答案

匿名用户

当您有一个仅映射的任务时,根本没有混洗,这意味着映射器将把最终输出直接写入HDFS。

另一方面,当您有一个完整的Map-Reduce程序,带有mappers和还原器时,是的,混洗可以在还原阶段开始之前开始。

在SO中引用这个非常好的答案:

首先,混洗是将数据从映射器传输到还原器的过程,所以我认为很明显,它对还原器是必要的,因为否则,它们将无法有任何输入(或来自每个映射器的输入)。混洗甚至可以在映射阶段结束之前开始,以节省一些时间。这就是为什么当映射状态尚未达到100%时,您可以看到大于0%(但小于33%)的还原状态。

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