2016-07-12 30 views
0

在我的oozie工作流程中,我動態地創建一個配置單元表,如T1。這個配置單元動作之後是一個map-reduce動作。我想設置reducers屬性的數量(mapred.reduce.tasks)等於字段say(T1.group)的不同值。任何想法如何動態地設置一些oozie參數的值以及如何從配置單元不同的動作中獲取參數的值到oozie參數?動態計算oozie參數(MR動作減速器的數量)

回答

2

我希望這可以幫助:

  1. 創建蜂巢表作爲你在做了。
  2. 執行另一個Hive查詢,該查詢計算列的不同值並將其寫入hdfs中的文件。
  3. 創建一個Shell操作,該操作將讀取文件並以key=value的形式回顯該值。爲shell操作啓用capture-output
  4. 這是您的MR行動。現在使用Oozie EL功能訪問操作數據。例如${wf:actionData('ShellAction')['key']},將此值傳遞給MR操作的configuration標記中的mapred.reduce.tasks