Su flujo de trabajo podría ser algo como esto ...
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>
Así que aquí colmena site.xml es el sitio XML presente en $ HIVE_HOME/conf carpeta.
El archivo script.q contiene la consulta real de la colmena. select * from ${INPUT_TABLE}
.
cómo y dónde podemos usar el parametro OUTPUT?
traduciendo en oozie significa, ¿quiere tener un workflow.xml para ejecutar un trabajo del planificador que ejecuta estas instrucciones de la colmena por cada hora? – WR10
Sí, eso es exactamente lo que quiero lograr, pero ¿cómo se ve el flujo de trabajo.xml? – nickponline
Puede necesitar tres pasos para hacer esto. 1. Un archivo workflow.xml que se ejecutará para el trabajo de la colmena. 2. Un script de shell para ejecutar el flujo de trabajo oozie. 3. Un trabajo cron para programar para ejecutar el script de shell periódicamente por cada hora. – WR10