DataWorks不同调度周期任务的依赖配置是什么?

DataWorks不同调度周期任务的依赖配置是什么?

展开
收起
真的很搞笑 2023-11-06 13:10:17 168 分享 版权
3 条回答
写回答
取消 提交回答
  • 【跨周期依赖】

    背景描述:节点依赖可以分为同周期依赖和跨周期依赖,即依赖上游节点上一周期实例还是当天的实例。

    同周期依赖在运维中心展示为实线,跨周期依赖在运维中心展示为虚线,自动解析默认解析的是同周期依赖。

    做了跨周期依赖,记得将同周期依赖去掉,否则会同时依赖该节点昨天和今天的实例。

    如果不清楚如何去除依赖回复机器人:删除输入
    image.png

    【三种跨周期依赖】

    1.一层子节点

    节点依赖关系:依赖当前节点的下游。例如节点A存在B、C、D三个下游节点,依赖一层子节点是指节点A依赖B、C、D三个节点的上一周期,即本次节点是否运行取决于上一周期下游节点是否运行成功。

    业务场景:本次(本周期)节点的运行,依赖下游节点上一周期对本节点上一周期结果表(即本节点输出表)的数据清洗结果是否成功(如果需要查看下游节点对当前节点数据清洗结果是否符合预期,可以对下游节点产出的结果表配置数据质量规则)。

    2.本节点

    节点依赖关系:跨周期自依赖(依赖当前节点的上一周期),即本次节点是否运行取决于上一周期本节点是否运行成功。

    业务场景:本周期节点运行依赖上一周期该节点业务数据的产出情况。(如果需要查看节点数据清洗结果是否符合预期,可以对节点产出的结果表配置数据质量监控规则。)

    3.自定义:

    手动输入需要依赖的其他节点,此处需要输入节点ID。如果存在多个节点,需用逗号(,)分隔,例如12345,23456。

    节点依赖关系:手动输入需要依赖的节点,本周期节点运行取决于自定义依赖的节点上一周期该是否运行成功。

    业务场景:业务逻辑上需要依赖其他业务的数据正常产出,但本节点中没有操作该业务数据。
    说明: 依赖上一周期和依赖本周期的区别:在运维中心中查看节点依赖关系时,所有跨周期依赖的节点都会以虚线的形式展示。

    注意:下线节点时需要删除节点依赖关系,需要下线的依赖关系包括同周期依赖及跨周期依赖。

    【节点自依赖对当前节点任务运行的影响】
    假设小时任务0点开始调度,每6小时调度一次。

    不设置自依赖情况下,所有实例同时调起。
    image.png

    设置自依赖情况下,前一个实例执行成功,下一个实例才会执行。

    image.png

    【节点设置自依赖后对下游节点执行时间影响---天任务依赖小时任务】
    场景一:天任务直接依赖小时任务
    天任务依赖小时任务:直接依赖时,需要小时任务当天所有实例运行完天任务才会运行;
    image.png

    场景二:天任务依赖某一个小时具体实例
    如果需要依赖小时任务第几个实例的话,需要小时任务设置自依赖(依赖上一周期配置项选择:本节点),天任务定时时间和需要依赖的小时任务的第几个实例的定时时间保持一致。
    image.png

    【依赖配置 FAQ】
    【场景一】:我的上游A是小时任务,下游B是日调度,B任务每天在A任务全部执行完成之后要汇总执行一次,这样可以设置依赖关系吗?
    天任务可以直接依赖小时任务,A任务为小时调度任务,B任务为日调度不定时,B任务直接依赖A任务场景下,B任务会依赖当天A任务所有小时实例。也就是等小时任务最后一个任务执行完成后,天任务才会执行。每个任务的调度周期都是任务本身时间属性决定。

    【场景二】我的需求是A任务每天每小时整点执行一次,B任务每天跑一次,但是希望A任务每天第一次跑成功后B任务就跑起,这样可以怎么配置?
    A任务配置时,需要勾选“依赖上一周期” 选“本节点”,然后B任务的定时时间为0点,这样每天自动调度实例里B任务实例就只依赖A任务0点实例即A任务第一个实例。

    注意:天依赖小时任务,需要将小时任务设置为依赖自己上一周期,这样天任务就能找到离自己最近的一个小时实例,等这个小时实例运行完成后,天任务就会触发了。

    【场景三】
    A任务每周一跑一次,B任务依赖A任务,也希望跟A任务一样每周1跑一次怎么配置?
    B任务的时间属性跟A任务一模一样即可,也就是调度周期也要选“周调度”“周一”。

    【相关语料】
    依赖的父节点输出不存在 依赖的上游

    【DAG图出现虚线:,什么原因?】

    运维中心DAG图出现虚线节点且同名,节点设置自依赖
    image.png

    如果自依赖的节点没有运行,请找到任务最开始出错的节点,修复错误重跑。

    如果不需要自依赖,到数据开发的调度配置界面将依赖上一周期勾选框去掉再重新发布即可。,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-11-07 21:12:52
    赞同 展开评论
  • 在 DataWorks 中,您可以配置不同调度周期之间的任务依赖关系。这意味着您可以设置一个任务依赖另一个任务,并使它在前一个任务成功完成之后才开始运行。这种配置可以帮助您构建更复杂的流程,并确保任务按照期望的顺序执行。
    具体而言,您可以使用 DataWorks 的任务依赖功能来配置任务间的依赖关系。为此,您需要按照以下步骤操作:

    1. 登录 DataWorks 控制台。
    2. 选择要操作的项目,然后点击进入。
    3. 单击左侧菜单栏上的“开发”选项卡,然后单击“数据开发”。
    4. 找到相应的任务,并单击右侧的“详情”按钮。
    5. 在打开的任务详情页面中,单击“依赖项”选项卡,然后添加所需的依赖关系。
    2023-11-06 22:29:53
    赞同 展开评论
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 DataWorks 中,不同调度周期任务之间的依赖关系可以按照以下方式进行配置:

    1. 周期依赖

    在 DataWorks 中,可以通过配置任务的依赖关系,将当前周期的任务设置为依赖于上一周期的任务输出结果。这种依赖关系有助于确保任务的执行顺序和正确性。

    1. 具体配置

    您可以设置当前周期任务依赖于上一周期的所有周期实例或某个特定的周期实例。

    2023-11-06 14:23:51
    赞同 展开评论

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

还有其他疑问?
咨询AI助理