DataWorks支持三种跨周期依赖模式(依赖上一周期):
- 一层子节点:依赖当前节点的下游。例如,节点A存在b、c、d三个下游节点,依赖一层子节点是指节点A依赖 b、c、d三个节点的上一周期。
- 本节点:依赖当前节点的上一周期(即自依赖)。
- 自定义:手动输入需要依赖的节点id,多个节点间英文逗号分隔,依赖该id节点的上一周期。
注意:不要重复配置依赖,调度配置中配置了“依赖上一周期”后,在“父节点输出”那里,不要重复配置依赖,否则会出现依赖上游“昨天+今天”两天的实例等情况。
跨周期依赖典型场景
【典型场景一】
“一层子节点”应用场景:对本节点的结果表进行清洗,查看是否正常产出最终结果
【典型场景二】
Q:天任务依赖小时任务,不想等24个小时任务实例跑完才跑天任务,天任务希望尽量按定时时间12:00跑
A:上游小时任务配置“依赖上一周期”选“本节点”;下游天任务定时调度时间选12:00,天任务不需要设置跨周期依赖。这样天任务就会在12点开始跑,且依赖最新跑完的那个小时任务实例的数据(下有图解)
【典型场景三】
Q:天任务依赖小时任务昨天的数据
A:下游天任务配置“依赖上一周期”选“自定义”,填上游小时任务的id
【典型场景四】
Q:小时任务依赖天任务,上游天任务跑完,下游小时任务多个周期定时时间已到,导致小时任务多周期并发调起怎么办
A:下游小时任务配置“依赖上一周期”选“本节点”(下有图解)
【典型场景五】
Q:本节点依赖自己的上一周期产出的数据,不知上一周期何时产出
A:本节点配置“依赖上一周期”选“本节点”
自依赖应用技巧
自依赖是天然的跨周期依赖。
- 小时任务依赖天任务(即上述典型场景四)
上游天任务跑完,下游小时任务多个周期定时时间已到,不希望小时任务多周期并发调起。不配置自依赖的话,12点过后a1和a2实例会并发调起。
- 天任务依赖小时任务(即上述典型场景二)
不想等24个小时任务实例跑完才跑天任务,天任务希望尽量按定时时间12:00跑。配置自依赖后,实例a2跑完,12点一到,实例A就会调起。
DataWorks百问百答历史记录请点击查看
采购季限时!原价2500元现仅需99元,3分钟入门DataWorks标准版6大场景!点击查看
更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】