gpt4 book ai didi

Hadoop Reducer 执行重现

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

所以映射器只在包含给定数据 block 的给定从节点上执行一次,对吗?

但是 Reducer 可能会执行多次,因为同一个键可能来自许多 Mapper 节点,对吗?

此外,对于单个 MapReduce 作业,每个 Mapper 都会进行 Shuffle 和 Sort 是否正确?

最佳答案

一般来说,我认为说Mapper/Reducer被执行了多少次是不合适的,因为它们广泛分布在不同的节点中,由MRv1中的JobTracker或MRv2中的ResourceManager调度。但希望我下面的回答可以帮助您更好地理解。

问:“所以映射器只在包含给定数据 block 的给定从节点上执行一次,对吗?”

答:在大多数情况下是正确的。通常,hadoop 会为每个输入拆分(默认情况下与数据 block 大小相同)启动一个映射器,但如果映射器失败,它会启动一个新的映射器。

问:“但是 Reducer 可能会执行多次,因为同一个键可能来自许多 Mapper 节点,对吗?”

答:不正确。 Shuffle 和 Sort 过程会将所有映射器输出合并到一个排序的输入中,并提供给 reducer。 reducer的个数由用户定义。

问题:“另外,对于单个 MapReduce 作业,每个 Mapper 上都会发生 Shuffle 和 Sort 是否正确?”

答:不准确。洗牌阶段是 hadoop 执行的过程,用于对映射器的输出进行排序并将其传输到缩减器作为输入。当所有映射器的输出都被复制后,排序阶段将合并所有输出并保持它们的排序顺序。所以从技术上讲,洗牌和排序的第一部分发生在每个映射器上。

谢谢

关于Hadoop Reducer 执行重现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21061699/

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