如何映射和减少并行运行

时间:2013-11-15 06:20:56

标签: hadoop mapreduce

我是hadoop& amp;的初学者当我运行一个hadoop工作时,我注意到进度日志显示地图80%减少了25%。我对map reduce的理解是,映射器会产生一堆中间值。在映射器产生输出之后,存在shuffle / sort中间对&发送这些值以减少工作量。有人可以解释一下map / reduce如何并行工作。

1 个答案:

答案 0 :(得分:2)

必须将映射器的输出复制到适当的reducer节点。这称为随机过程。即使在所有映射器完成之前,这也可以开始,因为决定哪个减少器仅依赖于映射器的输出键。所以你看到的25%的进展是由于洗牌阶段。

在洗牌后,有一个分类阶段,然后是减少阶段。除非所有映射器都已完成,否则不能进行排序和减少。由于shuffle可以在映射器完成之前发生,因此在映射器完成之前,您可以看到最多减少33.33%的完成。这是因为默认的apache实现认为shuffle,sort和reduce各占33.33%的时间。