清理中的Hadoop全局属性Conf.Set / Conf.Get()?

时间:2011-11-28 00:05:27

标签: hadoop

我试图通过Conf.set()和Context.getConfiguration()。get()方法在Hadoop中使用全局变量。

然而,这些似乎并没有在我正在使用的Cleanup方法中工作 - 虽然我能够使用Mapper和Reducer中的属性。是奇怪还是正常的行为?

是否还有其他方法可以在MapReduce作业中传播变量的值,以及在hadoop作业的内部清理方法中传播。

1 个答案:

答案 0 :(得分:1)

在Job类中设置的参数在清理方法中正确显示。

以下是主要方法

Configuration conf = new Configuration();
conf.set("test", "123");
Job job = new Job(conf);

以下是Mapper #cleanup方法

protected void cleanup(Context context) throws IOException,
    InterruptedException {

    Configuration conf = context.getConfiguration();
    String param = conf.get("test");
    System.out.println("clean p--> param = " + param);

}

以上的O / P是

  

清洁p - > param = 123

再次检查代码。顺便说一下,我在0.21发布时对它进行了测试。