oozie 使用coord的方式

定时启动作业的方式可以使用oozie的coord来完成,项目工程结构如下,其中swda-wf下的coordinator.xml是定时作业的实现。

oozie 使用coord的方式_第1张图片
Paste_Image.png

1,coordinator.xml文件
其中只能包括workflow action,需要在同级目录中存在workflow.xml文件,可是实现动态参数的传递(由oozie平台提供动态参数)。
定时执行需要根据四个参数来决定
start:设置job的开始执行时间,一般设置为当前时间,如果是以前的时间,会起一些脏批次。
end:job的结束时间
frequency:job执行的周期,coord有一些好用的el表达式
timezone:时区,oozie默认是utc,需要调整到东8区



    
        
            ${workflowAppUri}
            
                
                    jobTracker
                    ${jobTracker}
                
                
                
                    etlDate
                    ${coord:formatTime(coord:nominalTime(), 'yyyy-MM-dd')}
                
            
        
    


正确起批后,可以在oozie的元数据中查看到,表名为coord_actions.

oozie 使用coord的方式_第2张图片
Paste_Image.png

2,启动命令
和workflow启动命令相同,只是在job.properties中的参数不同,注意加粗的关键字,workflow action的为wf。

oozie.coord.application.path=${nameNode}/user/${user.name}/${sdaRoot}/swda-oozie/swda-wf

你可能感兴趣的:(oozie 使用coord的方式)