1. 程式人生 > >oozie開發知識點歸納

oozie開發知識點歸納

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開發知識點歸納