2013-08-23 39 views
1

傳遞到Hadoop的ToolRunner(或任何MapReduce的動作)在命令行參數可以傳遞給ToolRunner如下:如何參數從Oozie的工作流程

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作業。 任何幫助將不勝感激!

回答

1
+0

是的,我已經經歷過這些。這些例子告訴你如何運行一般的MapReduce動作以及如何配置MapReduce作業(地圖類,減少類等),但它們不包括如何將參數傳遞給作業 – Chaos

+0

你能提供一個例子嗎?你傳遞並嘗試獲取參數? – Oleksii

+0

添加到我的問題中,我通過在workflow.xml中的''標記中的問題中定義屬性來傳遞參數 – Chaos