2016-08-16 23 views
1

Oozieスクリプトのすべてのhql呼び出しにhive setコマンドを渡したいと思います。私は多くのhqlを持っており、各hqlにハイブパラメータを渡したいと思います。各hqlファイルにすべてのsetコマンドを書くのに使用しましたが、今はワークフローレベルを維持したいと思っています。私が何か悪いことをしているなら、誰にでも提案することができます。グローバル設定でOozieからハイブプロパティを設定する方法

ワークフローの一部を入れました。ジョブを実行すると、ハイブパラメータが伝播されず、したがってジョブが失敗していることがわかりません。

<workflow-app name="WF_AMLMKTM_L1_LOAD" xmlns="uri:oozie:workflow:0.5"> 
     <global> 
     <job-tracker>${jobTracker}</job-tracker> 
     <name-node>${nameNode}</name-node> 
     <configuration> 
        <property> 
         <name>hive.exec.parallel</name> 
         <value>true</value> 
        </property> 
        <property> 
         <name>hive.execution.engine</name> 
         <value>spark</value> 
        </property> 
        <property> 
         <name>hive.exec.dynamic.partition</name> 
         <value>true</value> 
        </property> 
        <property> 
         <name>hive.exec.dynamic.partition.mode</name> 
         <value>nonstrict</value> 
        </property> 
       </configuration> 
     </global> 


<action name="map_prc_stg_l1_load_com" cred="hive2"> 
     <hive2 xmlns="uri:oozie:hive2-action:0.1"> 
      <jdbc-url>${hive2_jdbc_url}</jdbc-url> 
      <script>${basepath}/applications/stg_l1_load_com.hql</script> 
       <param>basepath=${basepath}</param> 
       <param>runsk=${wf:actionData(&#39;runsk_gen&#39;)[&#39;runsk&#39;]}</param> 
+0

を使用してハイブアクションでそれを渡しますが、私は「/ – YoungHobbit

答えて

0

ハイブ-site.xmlの中で、すべてのハイブ関連の設定を入れて、oozieのバージョンは何ですか

<job-xml>[HIVE SETTINGS FILE]</job-xml> 

https://oozie.apache.org/docs/4.2.0/DG_Hive2ActionExtension.html

+0

をすることができます使用していますxmlはすべてのプロジェクトチームによって使用されているので、これを行う必要はありません。これは私のワークフローやプロジェクトに固有のものです。 – user3858193

+0

@userハイブ設定でフォルダを作成し、このようにjob.xmlを「 myjob/hive-site.xml」に設定してみてください。 'my-hive.xml'などの名前を付けてください。 –

関連する問題