ooziejob执行后
1. job.properties、coordinatior.xml中设置的值都是不可变的,除非将job kill掉,然后重新调度。
oozie job -kill 0000091-180116183039102-oozie-hado-C
oozie job -config job.properties -run
2. workflow.xml、script.q等文件可以通过rerun来重新刷新配置
所以在开发时,尽量将公共变量放到coordinator.xml,job.properties中,可能变化的变量和值放到workflow.xml中,例如服务器ip、用户账号等
oozie job -rerun --oozie-hado-C -refresh -action -
3. 通过sqoop导入时,暂时只能导入hdfs文件,不可以直接导入hive表中,总是出现下面错误,还需要进一步测试。
Encountered IOException running import job: java.io.IOException: Cannot run program "hive": java.io.IOException: error=2, No such file or directory
变通的解决方法:
带有partition的分区表,在导入hdfs后,通过执行hive添加分区即可解决,在oozie调度中分sqoop action和hive action两个步骤来完成。
<!-- hive partition -->
<action name="hive-node">
<hive xmlns="uri:oozie:hive-action:0.2">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<job-xml>${hive_site}</job-xml>
<script>script.q</script>
<param>hive_table=dw_stg.${job_name}</param>
<param>partition_dt=${params_dt}</param>
</hive>
<ok to="end"/>
<error to="fail"/>
</action>
# script.q
alter table ${hive_table} add if not exists partition (dt='${partition_dt}');