2015-07-20 72 views
1

我有一個由oozie協調員安排的mapreduce作業,每4小時運行一次。這個mapreduce作業接受一個參數,比如k,它的值在job.config文件中設置。我想知道如果我改變兩分之間的這種參數的值,它挑更新的(新)值,或者它堅持原來的(舊)值?如何更改oozie工作協調員的價值?

回答

0

如果作業是在乳寧模式時,它會堅持舊的參數它的自我,如果工作在等待調度運行,那麼它會採取的最新值:)。

0

其實,有一個「動態」取在運行時的參數值的迂迴方式:

  1. 在工作流程的開頭插入一個虛擬殼牌行動, <捕獲輸出/ >選項在shell腳本設置
  2. ,只要下載一個屬性從HDFS文件和 它轉儲到STDOUT
  3. 「捕獲輸出」 OPTI上告訴Oozie的解析STDOUT成地圖(即鍵/值列表)
  4. 然後使用E.L.函數來在 檢索適當的值(一個或多個)下一個操作

$ {WF:actionData( 「DummyShellAction」)[ 「some.key」]}

http://oozie.apache.org/docs/4.0.0/WorkflowFunctionalSpec.html#a4.2.6_Hadoop_Jobs_EL_Function