如何从Oozie工作流将参数传递给Hadoop ToolRunner(或任何MapReduce Action)

时间:2013-08-23 04:13:17

标签: hadoop mapreduce oozie

从命令行,可以按如下方式将参数传递给ToolRunner:

hadoop jar myJar.jar com.Main -Dprop1=prop1value -Dprop2=prop2value

我想调用我的MapReduce作业,作为Oozie的MapReduce操作的一部分。

我尝试在工作流程中定义属性,如下所示:

<property>
     <name>param1</name>
     <value>Hello World</value>
</property>

修改 这就是我试图从MapReduce作业中读取参数的方法:

Job job = new Job();
Configuration conf = job.getConfiguration();
System.out.println(conf.get("param1"));

但是我无法从mapreduce程序中读取它。

虽然我的问题是将参数传递给ToolRunner,但我不认为这是针对toolrunner的。使用Oozie MapReduce操作调用的MapReduce作业是通用的。 任何帮助将不胜感激!