从命令行,可以按如下方式将参数传递给 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 作业。 任何帮助将不胜感激!
请您参考如下方法:
您尝试过这些示例吗? 这里http://oozie.apache.org/docs/3.3.2/WorkflowFunctionalSpec.html#a3.2.2_Map-Reduce_Action 在这里 http://oozie.apache.org/docs/3.3.2/WorkflowFunctionalSpec.html#a4_Parameterization_of_Workflows