2016-02-05 20 views
0

我想通過2個參數在Oozie的我Hiveql腳本, 我的腳本:色調:Oozie的參數

ALTER TABLE default.otarie_appsession 
ADD IF NOT EXISTS PARTITION (insert_date=${dt},hr=${hr}); 

我Oozie的工作流程:

enter image description here

當我發送作業它要求參數值,所以我把:

enter image description here

這是錯誤:

2016-02-05 18:41:55,460 WARN org.apache.oozie.action.hadoop.HiveActionExecutor: SERVER[DVS1VM65] USER[root] GROUP[-] TOKEN[] APP[My_Workflow] JOB[0000290-160122145737153-oozie-oozi-W] ACTION[[email protected]] Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.HiveMain], exit code [40000] 

這是工作流程的XML:

<workflow-app name="My_Workflow" xmlns="uri:oozie:workflow:0.5"> 
    <start to="hive-a586"/> 
    <kill name="Kill"> 
     <message>L&#39;action a échoué, message d&#39;erreur[${wf:errorMessage(wf:lastErrorNode())}]</message> 
    </kill> 
    <action name="hive-a586"> 
     <hive xmlns="uri:oozie:hive-action:0.2"> 
      <job-tracker>${jobTracker}</job-tracker> 
      <name-node>${nameNode}</name-node> 
       <job-xml>/user/oozie/some_scripts/hive-site.xml</job-xml> 
      <script>/user/oozie/some_scripts/addpart.hql</script> 
       <param>hr=</param> 
       <param>dt=</param> 
     </hive> 
     <ok to="End"/> 
     <error to="Kill"/> 
    </action> 
    <end name="End"/> 
</workflow-app> 

當我刪除所有parmeters並使用硬編碼值,該腳本能正常工作,所以它明確表示,我有問題要傳遞參數。我的最終目標是通過當前的日期和時間。

謝謝。

回答

1

怎麼樣設置蜂巢參數與Oozie的參數...

<param>hr=${bilouteHR}</param> 
<param>dt=${bilouteDT}</param> 

...然後在提交時這些Oozie的參數設定值?

bilouteHR 
    00 
bilouteDT 
    20160105 

希望能解決你的問題。

+0

它給了我這個錯誤:'發射器錯誤,原因:主類[org.apache.oozie.action.hadoop.HiveMain],退出代碼[1]' – 54l3d

+0

YARN日誌的任何洞察?比照http://stackoverflow.com/questions/33386470/oozie-shell-actions-stdout-and-stderr-output/33444199#33444199找到他們,如果你不熟悉YARN。 –

+0

這是缺乏許可,它現在的作品!我怎麼能通過當前的日期和小時沒有硬編碼值? – 54l3d