你好,请问DataWorks任务调度不支持公共资源组吗?

你好,请问DataWorks任务调度不支持公共资源组吗?image.png

展开
收起
真的很搞笑 2023-08-07 19:16:40 75 分享 版权
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    是的,DataWorks任务调度支持在公共资源组下运行。

    关于任务调度在公共资源组的一些限制和注意事项:

    公共资源组的计算资源配额一般较小,任务规模和复杂度不要过高。

    同时运行的任务数量可能受到一定限制,需要合理安排运行时间点、规模等参数。

    长时间或大规模任务,可能会因为资源紧张被系统回收任务实例。

    由于公共资源加入口较宽,任务稳定性可能略低于专用资源组。

    资源隔离程度不如专用资源组,可能会受其他公共任务影响。

    所以:

    小规模简单ETL任务可以放心在公共资源组运行。

    大型批处理任务建议专用资源组。

    实时流式任务也不建议在公共资源使用。

    总体来说,DataWorks支持在公共资源组下调度和运行任务。需要根据自身需求合理评估任务规模是否适配公共资源限额。

    2023-08-10 17:03:45
    赞同 展开评论
  • 【跨周期依赖】

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

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

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

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

    image.png

    【三种跨周期依赖】

    1.一层子节点

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

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

    2.本节点

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

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

    3.自定义:

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

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

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

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

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

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

    如果不需要自依赖,到数据开发的调度配置界面将依赖上一周期勾选框去掉再重新发布即可。
    是的哈 仅支持独享调度资源组 https://help.aliyun.com/zh/dataworks/user-guide/create-and-use-a-mysql-node?spm=a2c4g.11186623.0.0.32f72f74HlKI2y,此回答整理自钉群“DataWorks交流群(答疑@机器人)”

    2023-08-07 20:55:39
    赞同 展开评论

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

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