是否可以在驱动程序中添加conf对象的属性?

时间:2014-11-26 06:40:10

标签: hadoop mapreduce

我的MR工作获得如下:

Job job = new Job(conf, "helloWorld");

conf上设置的任何值都可在节点之间使用。但我不确定以下内容是否有效:

MAP中的

conf.set("hello", "world");

在驱动程序

if( job.waitForCompletion(true) ){
     System.out.println(conf.get("hello"));
}

在映射/缩减阶段对conf进行的修改是否会在驱动程序中可见?

1 个答案:

答案 0 :(得分:2)

当您提交作业时,您还提供了配置,如您所说:

Job job = new Job(conf, "helloWorld");

这是Java中的值调用(例如,参见this nice answer)。

如果许多地图制作者为hello设置了不同的值,会发生什么?

我相信您正在寻找的功能是MultipleOutputs。 在任务完成时,使用hadoop的FileSystem在驱动程序中读取的一些新文件中写入所需的值。