gpt4 book ai didi

java - 重新运行 Hadoop 作业,分区的 mapoutput 是否仍会转到相同的 Reducers?

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

在 hadoop 中,假设节点的数量是固定的(在运行期间没有服务器崩溃),如果我使用相同的分区器(例如,在映射输出的键上进行哈希分区)来分区映射器输出,并且我执行读取同一个数据集两次的作业。确定同一个key的数据会去同一个reducer吗?谢谢

例如,我的 map 输出包含两行:键 |值

一个 |任何东西

乙 |任何东西

假设,我有两个 reducer 1 和 2。在第一次运行中,行“A|anything”进入 reducer 1,“B|anything”进入 reducer2。如果我再次运行,是否有可能“A|anything”进入 reducer 2,而“B|anything”进入 reducer1?

谢谢!

最佳答案

map/reduce 任务和节点之间没有关联。当 map/reduce 任务要运行时,调度程序会选择一个可用的空闲 map/reduce 槽(它可能/可能不是上次运行的同一台机器)来运行该任务。因此,当重新运行 Job 时,相同的键可能会由不同的 reducer 处理。这就是 Hadoop 框架容错的原因。

关于java - 重新运行 Hadoop 作业,分区的 mapoutput 是否仍会转到相同的 Reducers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8153204/

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