调度依赖方式选择(跨周期依赖)

依赖上一周期,是指本节点本次实例运行,依赖相应节点上一周期实例的运行情况,待上一周期实例运行成功后,本节点才会运行。通常,若本节点需依赖上游昨天产出的数据,或小时、分钟任务依赖自己上一小时或分钟实例,可设置跨周期依赖。本文为您介绍跨周期依赖的配置及依赖形式。

注意事项

配置依赖上一周期的注意事项如下:

类别

描述

相关参考

跨周期依赖图例展示

跨周期依赖在DataWorksDAG图中以虚线的形式展示。

附录:DAG图功能介绍

已设置跨周期依赖某节点时,请确认是否还存在并需要同周期依赖

配置依赖关系后,下游依赖的所有上游任务均需执行完成,下游任务才会执行。

由于同周期依赖自动解析功能默认开启,若已设置跨周期依赖,请确认是否还需设置同周期依赖,若不需要,则需删除同周期自动解析产生的依赖关系,以免影响下游正常运行。

调度依赖方式选择(同周期依赖)

复杂场景是否需设置跨周期依赖

部分场景下,当同周期依赖不满足预期时,您可设置跨周期依赖。

例如,天任务依赖小时任务的场景下,天任务默认依赖小时任务当天所有实例。

复杂依赖场景调度配置原则与示例

预览节点依赖关系

为避免生产调度任务由于依赖关系不符合预期导致生产调度延迟,建议在发布任务前,通过该功能确认各周期实例关系是否符合预期。

DAG图功能列表说明

任务发布说明

跨周期依赖的上下游任务,请确保均已发布至生产环境,发布后才可在生产环境运维中心查看该环境的依赖关系。

节点/工作流发布

配置入口

进入数据开发节点的编辑页面,单击右侧导航栏的调度配置,切换至调度依赖页签单击新增依赖,将依赖方式切换为跨周期依赖后,再根据需求,通过名称、输出名或ID来搜索该节点需要跨周期依赖的上游节点。image

依赖形式

依赖形式

节点依赖关系

业务场景

依赖上一周期:本节点(自依赖)

本节点本次实例运行,依赖于本节点上一周期的实例运行结果。即本次节点是否运行,取决于本节点上一周期的实例是否运行成功。

本节点本次实例运行,取决于本节点上一周期业务数据的产出情况。

依赖上一周期:一级子节点

本节点本次实例运行,取决于下游节点上一周期的实例运行情况。即本次节点是否运行,取决于该节点的下游节点在上一周期的实例是否运行成功。

本节点本次实例的运行,依赖于该节点的下游节点在上一周期对本节点上一周期结果表(即本节点输出表)数据的清洗结果是否成功。

依赖上一周期:其他节点

本节点本次实例的运行,依赖于其他节点在上一周期的实例运行结果。即本次节点是否运行,取决于其依赖的其他节点在上一周期实例是否运行成功。

本节点本次实例运行,在业务逻辑上需要依赖其他业务的数据,但本节点中不包含涉及其他业务数据的相关操作。

依赖上一周期:本节点(自依赖)

本节点本次实例运行,取决于本节点上一周期业务数据的产出情况,依赖关系如下:

  • 小时调度依赖于本节点的上一周期。

    image
  • 天调度依赖于本节点的上一周期。

    image

依赖关系设置:

  1. 进入A节点开发页面,单击调度配置,进入调度依赖配置页面。

  2. 单击节点依赖配置模块的新增依赖按钮,进入手动搜索依赖对象弹窗内,进行如下配置:

    依赖方式:下拉选择跨周期自依赖,单击添加按钮,将上一周期的A节点添加为上游依赖。

  3. 单击保存按钮,保存配置好的依赖。

说明

小时、天任务不同周期实例的执行结果相互影响。

当天任务依赖小时、分钟任务时,小时、分钟任务是否设置自依赖,会影响天任务的执行时间。

  • 小时、分钟任务未设置自依赖。

    天任务默认依赖小时、分钟任务当天所有实例,即天任务会对小时、分钟任务当天产出的所有表数据进行汇总加工。

  • 小时、分钟任务设置自依赖。

    天任务根据挂载依赖:就近原则,挂载距离自己定时时间最近的某个小时、分钟实例,而非依赖当天所有小时、分钟实例。

具体依赖情况,详情请参见附录一:复杂依赖场景汇总

依赖上一周期:一级子节点

本节点本次实例运行,依赖其下游节点上一周期对本节点上一周期表数据的加工结果。

image
  • 依赖关系设置:

    1. 进入C节点开发页面,单击调度配置,进入调度依赖配置页面。

    2. 单击节点依赖配置模块的新增依赖按钮,进入手动搜索依赖对象弹窗内,进行如下配置:

      依赖方式:下拉选择跨周期一级子节点依赖。系统会自动按照编辑区最新代码,搜索查询新的待添加依赖节点,在待添加依赖节点中选择AB节点。

    3. 单击保存按钮,保存配置好的依赖。

  • 图示说明:

    • C1实例说明:

      • 加工:T-2日分区的A实例与B实例的输出表数据。

      • 产出:T-1日分区的C1表数据。

    • A1B1实例说明:

      • 加工:T-1日的实例C1产出的表数据。

      • 产出:T-1日的A1表数据和B1表数据。

    • C2实例说明:

      • 加工:T-1日分区的A1实例与B1实例的输出表数据。

      • 产出:T日分区的C2表数据。

    • A2B2实例说明:

      • 加工:T日的实例C2产出的表数据。

      • 产出:T日的A2表数据和B2表数据。

依赖上一周期:其他节点

本次节点是否运行,取决于其他节点在上一周期实例是否运行成功。

image
  • 依赖关系设置:

    1. 进入B节点开发页面,单击调度配置,进入调度依赖配置页面。

    2. 单击节点依赖配置模块的新增依赖按钮,进入手动搜索依赖对象弹窗内,进行如下配置:

      • 依赖方式:下拉选择跨周期依赖。

      • 依赖对象:通过下拉选择名称,查询选择不属于A、B、C三个节点组成的工作流中的其他节点D。

    3. 选择D节点为B节点的跨周期依赖的上游。

  • 图示说明:节点A、B为节点C的两个下游节点,依赖其他节点是指节点B依赖D节点在上一周期的运行结果(图中示例当前周期为T,上一周期为T-1)。当D节点上一周期实例运行成功时,本次节点B才会启动运行。

预览依赖关系

配置完成后,您可预览该节点配置的依赖关系,详情请参见:后续:确认依赖是否符合预期