map-reduce 中不同组件/动作的执行顺序

Posted

技术标签:

【中文标题】map-reduce 中不同组件/动作的执行顺序【英文标题】:order of execution of different components/actions in map-reduce 【发布时间】:2014-12-19 06:35:08 【问题描述】:

map-reduce 中动作/组件的执行顺序是什么 - Mapper --> Combiner --> Shuffle/Sorting --> Partitioner --> Reducer

顺序一样吗?​​?

【问题讨论】:

【参考方案1】:

该过程几乎是正确的,但让我们深入了解它。 第一个 Map 阶段将从运行 map 开始。 一旦map处理输入,它会在保存到本地文件系统之前进行排序, 称为sort,然后将copy 复制到本地文件系统,接下来此数据将复制到reducer,即shuffle 阶段。 由于数据已经在每个映射器输出中排序,因此它通过每个到达减速器所在节点的键执行merge sort。 一旦合并完成,数据就可以进入reduce阶段了。这取决于您选择的手动配置。 我们也可以将减速器的数量设置为零。在这种情况下,map 的所有输出都将直接写入本地文件系统或 hdfs 的输出路径。

希望对你有帮助!

【讨论】:

非常感谢,这完美地解释了答案:)

以上是关于map-reduce 中不同组件/动作的执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

reactjs/flux:按顺序执行动作(ajax)

Stream forEachOrdered() vs forEach()

Stream forEachOrdered() vs forEach()

Stream forEachOrdered() vs forEach()

Unity3D日常开发Unity3D中实现不同脚本之间的执行顺序控制

VUE生命周期中的钩子函数及父子组件的执行顺序