gpt4 book ai didi

hadoop - Mapper 和 Reducer 如何协同工作 "without"排序?

转载 作者:可可西里 更新时间:2023-11-01 14:32:32 25 4
gpt4 key购买 nike

我知道 map reduce 是如何工作的以及我有哪些步骤:

  • 绘图
  • 随机排序
  • 减少

当然,我有分区、组合器,但现在这些并不重要。

有趣的是,当我运行 map reduce 作业时,看起来 mappers 和 reducers 并行工作:

enter image description here

所以我不明白这怎么可能。

问题 1.如果我有多个节点在做映射操作,reducer如何开始工作?因为 Reducer 不能在没有排序的情况下开始工作吗?(输入必须为 Reducer 排序 - 如果 mapper 仍在工作,则输入无法排序)。

问题 2.如果我有多个 reducer,最后的数据如何合并在一起?换句话说,最终结果应该排序对吧?这意味着我们要花费额外的 O( n*Log n) 时间来合并“多个 reducer 结果?”

最佳答案

Reducer 可以在映射器可用时立即开始从映射器复制结果。它被称为 reduce 任务的复制阶段(请参阅 Hadoop 权威指南,第 7 章 MapReduce 的工作原理)。
同样来自那里:

...When all the map outputs have been copied, the reduce task moves into the sort phase (which should properly be called the merge phase, as the sorting was carried out on the map side), which merges the map outputs, maintaining their sort ordering. This is done in rounds...

关于hadoop - Mapper 和 Reducer 如何协同工作 "without"排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56369543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com