công việc của bạn có thể giống như thế này ...
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>
Vì vậy, đây hive-site.xml là xml site hiện diện trong $ HIVE_HOME/conf thư mục.
tập tin script.q chứa truy vấn hive thực tế. select * from ${INPUT_TABLE}
.
chúng tôi có thể sử dụng thông số OUTPUT ở đâu và ở đâu?
dịch thành oozie nghĩa là bạn có muốn có tệp công việc.xml để thực thi công việc lên lịch chạy lệnh này cho mỗi giờ không? – WR10
Vâng, đó chính xác là những gì tôi muốn đạt được, nhưng workflow.xml trông như thế nào? – nickponline
Bạn có thể cần ba bước để thực hiện việc này. 1. Tệp workflow.xml sẽ được thực thi cho công việc hive. 2. Một kịch bản lệnh shell để thực thi luồng công việc oozie. 3. Một công việc định kỳ để lên lịch chạy kịch bản lệnh định kỳ cho mỗi giờ. – WR10