Oozie - 运行 每天或每小时一个工作流程
Oozie - run a workflow every day or every hour
我有一个执行 .hive 文件的 oozie 工作流 (hive_insertion.xml),它将数据插入 table。
Oozie 工作流程是:
<workflow-app xmlns = "uri:oozie:workflow:0.4" name = "simple-Workflow">
<start to = "Insert_into_treatment_costs_table " />
<action name = "Insert_into_treatment_costs_table">
<hive xmlns = "uri:oozie:hive-action:0.4">
<job-tracker> ${jobTracker} </job-tracker>
<name-node> ${nameNode} </name-node>
<script>hdfs_path_of_script/treatment_insert.hive’</script>
</hive>
<!-- what should happen on success--!>
<ok to = "end" />
<!-- what should happen on failure--!>
<error to = "kill_job" />
</action>
<!-- this is what happens on failure --!>
<kill name = "kill_job">
<message>Job failed</message>
</kill>
<!-- this is what happens on success --!>
<end name = "end" />
</workflow-app>
这可以从也有上述 'hive_insertion.xml' 文件的目录中执行。
# sudo -u oozie oozie job –oozie
我在哪里进行更改,以便此工作流在每天结束时执行。
您必须使用 Oozie Coordinator 来安排 oozie 工作流程。
每天结束时执行,使用EL函数${coord:endOfDays(1)}
在协调器操作中嵌入您的工作流定义,
<coordinator-app name="daily" frequency="${coord:endOfDays(1)}" start="${start}" end="${end}"
timezone="UTC" xmlns="uri:oozie:coordinator:0.1">
<action>
<workflow>
...
</workflow>
</action>
</coordinator-app>
注意: Oozie 协调器也支持Cron Syntax。将其用于更灵活的频率。
我有一个执行 .hive 文件的 oozie 工作流 (hive_insertion.xml),它将数据插入 table。 Oozie 工作流程是:
<workflow-app xmlns = "uri:oozie:workflow:0.4" name = "simple-Workflow">
<start to = "Insert_into_treatment_costs_table " />
<action name = "Insert_into_treatment_costs_table">
<hive xmlns = "uri:oozie:hive-action:0.4">
<job-tracker> ${jobTracker} </job-tracker>
<name-node> ${nameNode} </name-node>
<script>hdfs_path_of_script/treatment_insert.hive’</script>
</hive>
<!-- what should happen on success--!>
<ok to = "end" />
<!-- what should happen on failure--!>
<error to = "kill_job" />
</action>
<!-- this is what happens on failure --!>
<kill name = "kill_job">
<message>Job failed</message>
</kill>
<!-- this is what happens on success --!>
<end name = "end" />
</workflow-app>
这可以从也有上述 'hive_insertion.xml' 文件的目录中执行。
# sudo -u oozie oozie job –oozie
我在哪里进行更改,以便此工作流在每天结束时执行。
您必须使用 Oozie Coordinator 来安排 oozie 工作流程。
每天结束时执行,使用EL函数${coord:endOfDays(1)}
在协调器操作中嵌入您的工作流定义,
<coordinator-app name="daily" frequency="${coord:endOfDays(1)}" start="${start}" end="${end}"
timezone="UTC" xmlns="uri:oozie:coordinator:0.1">
<action>
<workflow>
...
</workflow>
</action>
</coordinator-app>
注意: Oozie 协调器也支持Cron Syntax。将其用于更灵活的频率。