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来重新刷新配置
所以在开发时,尽量将可能变化的变量和值放到workflow.xml中,例如服务器ip、用户账号等
oozie job -rerun 0000092-180116183039102-oozie-hado-C -refresh -action 1-10
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}‘);