依赖上一周期,是指本节点本次实例运行,依赖相应节点上一周期实例的运行情况,待上一周期实例运行成功后,本节点才会运行。通常,若本节点需依赖上游昨天产出的数据,或小时、分钟任务依赖自己上一小时或分钟实例,可设置跨周期依赖。本文为您介绍跨周期依赖的配置及依赖形式。
注意事项
配置依赖上一周期的注意事项如下:
类别 | 描述 | 相关参考 |
跨周期依赖图例展示 | 跨周期依赖在DataWorks的DAG图中以虚线的形式展示。 | |
已设置跨周期依赖某节点时,请确认是否还存在并需要同周期依赖 | 配置依赖关系后,下游依赖的所有上游任务均需执行完成,下游任务才会执行。 由于同周期依赖自动解析功能默认开启,若已设置跨周期依赖,请确认是否还需设置同周期依赖,若不需要,则需删除同周期自动解析产生的依赖关系,以免影响下游正常运行。 | |
复杂场景是否需设置跨周期依赖 | 部分场景下,当同周期依赖不满足预期时,您可设置跨周期依赖。 例如,天任务依赖小时任务的场景下,天任务默认依赖小时任务当天所有实例。 | |
预览节点依赖关系 | 为避免生产调度任务由于依赖关系不符合预期导致生产调度延迟,建议在发布任务前,通过该功能确认各周期实例关系是否符合预期。 | |
任务发布说明 | 跨周期依赖的上下游任务,请确保均已发布至生产环境,发布后才可在生产环境运维中心查看该环境的依赖关系。 |
配置入口
进入数据开发节点的编辑页面,单击右侧导航栏的调度配置,切换至调度依赖页签单击新增依赖,将依赖方式切换为跨周期依赖后,再根据需求,通过名称、输出名或ID来搜索该节点需要跨周期依赖的上游节点。
依赖形式
依赖形式 | 节点依赖关系 | 业务场景 |
依赖上一周期:本节点(自依赖) | 本节点本次实例运行,依赖于本节点上一周期的实例运行结果。即本次节点是否运行,取决于本节点上一周期的实例是否运行成功。 | 本节点本次实例运行,取决于本节点上一周期业务数据的产出情况。 |
依赖上一周期:一级子节点 | 本节点本次实例运行,取决于下游节点上一周期的实例运行情况。即本次节点是否运行,取决于该节点的下游节点在上一周期的实例是否运行成功。 | 本节点本次实例的运行,依赖于该节点的下游节点在上一周期对本节点上一周期结果表(即本节点输出表)数据的清洗结果是否成功。 |
依赖上一周期:其他节点 | 本节点本次实例的运行,依赖于其他节点在上一周期的实例运行结果。即本次节点是否运行,取决于其依赖的其他节点在上一周期实例是否运行成功。 | 本节点本次实例运行,在业务逻辑上需要依赖其他业务的数据,但本节点中不包含涉及其他业务数据的相关操作。 |
依赖上一周期:本节点(自依赖)
本节点本次实例运行,取决于本节点上一周期业务数据的产出情况,依赖关系如下:
小时调度依赖于本节点的上一周期。
天调度依赖于本节点的上一周期。
依赖关系设置:
进入A节点开发页面,单击调度配置,进入调度依赖配置页面。
单击节点依赖配置模块的新增依赖按钮,进入手动搜索依赖对象弹窗内,进行如下配置:
依赖方式:下拉选择跨周期自依赖,单击添加按钮,将上一周期的A节点添加为上游依赖。
单击保存按钮,保存配置好的依赖。
小时、天任务不同周期实例的执行结果相互影响。
当天任务依赖小时、分钟任务时,小时、分钟任务是否设置自依赖,会影响天任务的执行时间。
小时、分钟任务未设置自依赖。
天任务默认依赖小时、分钟任务当天所有实例,即天任务会对小时、分钟任务当天产出的所有表数据进行汇总加工。
小时、分钟任务设置自依赖。
天任务根据挂载依赖:就近原则,挂载距离自己定时时间最近的某个小时、分钟实例,而非依赖当天所有小时、分钟实例。
具体依赖情况,详情请参见附录一:复杂依赖场景汇总。
依赖上一周期:一级子节点
本节点本次实例运行,依赖其下游节点上一周期对本节点上一周期表数据的加工结果。
依赖关系设置:
进入C节点开发页面,单击调度配置,进入调度依赖配置页面。
单击节点依赖配置模块的新增依赖按钮,进入手动搜索依赖对象弹窗内,进行如下配置:
依赖方式:下拉选择跨周期一级子节点依赖。系统会自动按照编辑区最新代码,搜索查询新的待添加依赖节点,在待添加依赖节点中选择A与B节点。
单击保存按钮,保存配置好的依赖。
图示说明:
C1实例说明:
加工:T-2日分区的A实例与B实例的输出表数据。
产出:T-1日分区的C1表数据。
A1与B1实例说明:
加工:T-1日的实例C1产出的表数据。
产出:T-1日的A1表数据和B1表数据。
C2实例说明:
加工:T-1日分区的A1实例与B1实例的输出表数据。
产出:T日分区的C2表数据。
A2与B2实例说明:
加工:T日的实例C2产出的表数据。
产出:T日的A2表数据和B2表数据。
依赖上一周期:其他节点
本次节点是否运行,取决于其他节点在上一周期实例是否运行成功。
依赖关系设置:
进入B节点开发页面,单击调度配置,进入调度依赖配置页面。
单击节点依赖配置模块的新增依赖按钮,进入手动搜索依赖对象弹窗内,进行如下配置:
依赖方式:下拉选择跨周期依赖。
依赖对象:通过下拉选择名称,查询选择不属于A、B、C三个节点组成的工作流中的其他节点D。
选择D节点为B节点的跨周期依赖的上游。
图示说明:节点A、B为节点C的两个下游节点,依赖其他节点是指节点B依赖D节点在上一周期的运行结果(图中示例当前周期为T,上一周期为T-1)。当D节点上一周期实例运行成功时,本次节点B才会启动运行。
预览依赖关系
配置完成后,您可预览该节点配置的依赖关系,详情请参见:后续:确认依赖是否符合预期。