oozie開發知識點歸納
阿新 • • 發佈:2018-01-26
red ram ble 設置 clas ack pro ioe tor
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}‘);
oozie開發知識點歸納