oozie开发注意事项

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 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}');

 

posted @ 2018-01-26 14:26  硅谷工具人  阅读(528)  评论(0编辑  收藏  举报
成功之道,在于每个人生阶段都要有不同的目标,并且通过努力实现自己的目标,毕竟人生不过百年! 所有奋斗的意义在于为个人目标实现和提升家庭幸福,同时能推进社会进步和国家目标! 正如古人讲的正心诚意格物致知,修身齐家治国平天下。