gpt4 book ai didi

java - Configuration.set 可以在 Mapper 中使用吗?

转载 作者:可可西里 更新时间:2023-11-01 16:28:29 26 4
gpt4 key购买 nike

我正在尝试将一些数据从 Mapper 保存到 Job/Main,以便我可以在其他作业中使用它。

我尝试在我的主类(包含主函数)中使用静态变量,但是当映射器将数据添加到静态变量并且我尝试在作业完成时打印该变量时,我发现没有新的数据,就像 Mapper 修改了该静态变量的另一个实例。

现在我正在尝试使用配置来设置来自映射器的数据:

映射器

context.getConfiguration().set("3", "somedata");

主要

boolean step1Completed = step1.waitForCompletion(true);
System.out.println(step1.getConfiguration().get("3"));

不幸的是,这会打印出 null

还有其他方法吗?我正在尝试保存一些数据,以便在其他工作中使用它,我发现为此使用一个文件有点极端,因为数据只是 int,string 的索引来映射一些标题我将需要在我的上一份工作中。

最佳答案

我一知道就不可能。 Mappers 和 Reducers 以分布式方式独立工作。每个任务都有自己的本地 conf 实例。您必须在每个作业独立时将数据持久保存到 HDFS。

您还可以利用 MapReduce Chaining 机制 ( example ) 来运行作业链。此外,您可以在 Azkaban、Oozie 等中设计工作流,将输出传递给另一个作业。

关于java - Configuration.set 可以在 Mapper 中使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49209921/

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