本文主要是介绍DataWorks:依赖上一周期(跨周期依赖)解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文档均以修改xc_create节点的配置为案例。
DataWorks的三种跨周期依赖形式:
依赖上一周期和依赖本周期的区别:
注意:在运维中心中查看节点依赖关系时,所有跨周期依赖的节点都会以虚线 的形式展示。也是任务实际的依赖,下线任务时候这部分的依赖关系也需要去掉,也是任务运行需要判断的条件之一。
业务流程节点依赖关系
运维中心展示如下:
xc_create节点代码及配置
节点sql解析:xc_create节点创建xc_1,xc_2两张表(或产出两张表的数据)并将xc_1,xc_2作为本节点的输出。
xc_select节点代码及配置
节点sql解析:xc_select节点中查询xc_create节点中的表数据,通过自动解析功能解析将xc_create节点作为本节点依赖的上游。
依赖上一周期:一层子节点
业务场景:该任务运行依赖上一周期下游任务对本任务的结果表(本节点输出表)进行清洗的最终结果(下游任务运行成功,本节点本周期任务开始运行,否则反之)。
xc_create 选择依赖一层子节点
运维中心任务依赖关系如图:
依赖上一周期:本节点
xc_create表配置如图(为便于观察,我将本节点设置为小时调度任务)
运维中心的周期实例查看依赖情况,如图:
依赖上一周期:自定义
节点依赖:代码中没有用到1000374815节点的产出表但是业务上需要取依赖该1000374815节点的上一周期数据是否顺利产出从节点关系来说:xc_create节点需要依赖1000374815节点上一周期。
业务场景:业务逻辑上需要依赖1000374815任务的业务数据正常产出,但是本任务(xc_create)中没有操作该业务数据。
新的节点如下:节点id:1000374815
xc_create节点依赖的上游选择自定义,选择1000374815节点。
运维中心周期任务依赖如图:
【实时场景一】:无法确定上游何时产出数据时,本节点可对上游做跨周期依赖。
【实时场景二】:我的需求是A任务每天每小时整点执行一次,B任务每天跑一次,但是希望A任务每天第一次跑成功后B任务就跑起, 这样可以怎么配置?
A:A任务配置时,需要勾选“依赖上一周期” 选“本节点”,然后B任务的定时时间为0点,这样每天自动调度实例里B任务实例就只依赖A 任务0点实例即A任务第一个实例。
【实时场景三】:天任务依赖小时任务,不需要依赖今天的数据,只需要依赖昨天的小时数据(直接依赖今天的小时任务实例导致下 游天任务小时到第二天才完成)
A:天任务调度配置界面选择“依赖上一周期”-“自定义”,将上游小时任务的节点id填进去后,重新提交发布。
有疑问可下方留言
这篇关于DataWorks:依赖上一周期(跨周期依赖)解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!