Il flusso di lavoro potrebbe essere qualcosa di simile ...
workflow.xml
<workflow-app xmlns="uri:oozie:workflow:0.2" name="hive-wf">
<start to="hive-node"/>
<action name="hive-node">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>localhost:50001</job-tracker>
<name-node>hdfs://localhost:50000</name-node>
<configuration>
<property>
<name>mapred.job.queue.name</name>
<value>default</value>
</property>
<property>
<name>oozie.hive.defaults</name>
<value>/user/user1/oozie/hive-site.xml</value>
</property>
</configuration>
<script>script.q</script>
<param>INPUT_TABLE=SampleTable</param>
<param>OUTPUT=/user/user1/output-data/hive</param>
</hive>
<ok to="end"/>
<error to="fail"/>
</action>
<kill name="fail">
<message>Hive failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<end name="end"/>
</workflow-app>
Così qui alveare-site.xml è il xml sito presente in $ HIVE_HOME/conf cartella.
Il file script.q contiene la query hive effettiva. select * from ${INPUT_TABLE}
.
come e dove è possibile utilizzare il parametro OUTPUT?
conversione in mezzo Oozie, si desidera avere un flusso di lavoro.xml per eseguire un processo di pianificazione che esegue queste istruzioni dell'alveare per ogni ora? – WR10
Sì, questo è esattamente ciò che voglio ottenere, ma com'è il workflow.xml? – nickponline
Potresti aver bisogno di tre passaggi per farlo. 1. Un file workflow.xml da eseguire per il lavoro hive. 2. Uno script di shell per eseguire il flusso di lavoro di oozie. 3. Un cron job da programmare per eseguire periodicamente lo script della shell per ogni ora. – WR10