MapReduce中的reduce是立即运行,还是等待map完成?

MapReduce中的reduce是立即运行,还是等待map完成?,mapreduce,Mapreduce,我刚看完下面的文章。有一个问题-reduce是否会等到所有映射操作完成,或者在某些结果可用时是否可以启动?Haskell内置了map和reduce(他们称之为fold),并且其执行顺序未定义(您甚至可以对无限列表进行操作,只要您不尝试对整个结果进行评估)。所以你可以用任何一种方法 如果你问谷歌是如何做到的,我不确定,但他们可能会设置它,以便reduce尽可能最大程度地使用他们映射的列表,因为这样他们就不必将已经处理过的值保存在内存中 在MapReduce作业中,在所有映射作业完成之前,还原程序不

我刚看完下面的文章。有一个问题-reduce是否会等到所有映射操作完成,或者在某些结果可用时是否可以启动?

Haskell内置了map和reduce(他们称之为fold),并且其执行顺序未定义(您甚至可以对无限列表进行操作,只要您不尝试对整个结果进行评估)。所以你可以用任何一种方法


如果你问谷歌是如何做到的,我不确定,但他们可能会设置它,以便reduce尽可能最大程度地使用他们映射的列表,因为这样他们就不必将已经处理过的值保存在内存中

在MapReduce作业中,在所有映射作业完成之前,还原程序不会开始执行reduce方法。Reducer会在映射器可用时立即从映射器中复制中间键值对。这就是为什么我们能够在Job tracker中看到,当某些映射仍在运行时,reduce会显示很少的百分比