gpt4 book ai didi

hadoop - 在 MapReduce 作业配置中设置参数

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

是否有任何方法可以从 Mapper 设置作业配置中的参数,并且可以从 Reducer 访问。

我试过下面的代码

在映射器中:map(..):context.getConfiguration().set("Sum","100");在 reducer 中:reduce(..) :context.getConfiguration().get("Sum");

但在 reducer 中,值返回为 null

有什么方法可以实现这个或我这边遗漏的任何东西吗?

最佳答案

据我所知,这是不可能的。作业配置在运行时由作业跟踪器序列化为 XML,并复制到所有任务节点。对 Configuration 对象的任何更改只会影响该对象,该对象对于特定任务 JVM 是本地的;它不会更改每个节点的 XML。

一般来说,您应该尽量避免任何“全局”状态。它违反了 MapReduce 范例,通常会阻止并行性。如果您绝对必须在 Map 和 Reduce 阶段之间传递信息,并且您不能通过通常的 Shuffle/Sort 步骤来完成,那么您可以尝试写入分布式缓存,或直接写入 HDFS。

关于hadoop - 在 MapReduce 作业配置中设置参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13228922/

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