小时任务依赖天任务,当上游天任务运行完成时,已到下游小时任务的多个周期定时时间,导致小时任务多周期并发调度。此时您可以在任务的调度配置 > 时间属性区域,配置依赖上一周期 > 本节点。https://help.aliyun.com/zh/dataworks/support/scheduling-dependencies?spm=a2c4g.11186623.0.i276
在DataWorks中,小时任务依赖天任务是指小时任务需要依赖于天任务的结果来进行计算。具体来说,小时任务会依赖于前一天的所有天任务实例,这种依赖关系被称为跨周期依赖。
例如,假设我们有一个天任务A和一个小时任务B。任务A每天运行一次,生成当天的数据。任务B每小时运行一次,需要使用任务A生成的数据来进行计算。在这种情况下,我们可以设置任务B依赖任务A,即任务B需要等待任务A完成后才能开始运行。
这种依赖关系的设置可以在DataWorks的调度配置中进行,选择依赖上一周期的实例即可。
https://help.aliyun.com/zh/dataworks/user-guide/principles-and-samples-of-scheduling-configurations-in-complex-dependency-scenarios?spm=a2c4g.11186623.0.i2 ,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
在DataWorks中,任务之间的依赖关系是非常重要的。具体到小时任务和天任务,存在不同的依赖场景:
当小时任务依赖小时任务或分钟任务时,上下游节点的周期数需要一致,以便按照周期数一一对应设置依赖关系。
天任务可以依赖小时或分钟任务。当上游天任务运行完成时,如果已到下游小时任务的多个周期定时时间,可能会导致小时任务多周期并发调度。在这种情况下,您可以在任务的调度配置 > 时间属性 区域,配置为“依赖上一周期 > 本节点”来解决这一问题。
当天任务依赖小时、分钟任务时,小时、分钟任务是否设置自依赖会影响天任务的执行时间。如果小时、分钟任务未设置自依赖,天任务将默认依赖小时、分钟任务当天所有的实例,即天任务会对小时、分钟任务当天产出的所有表数据进行汇总加工。
在某些特定场景下,如上游小时任务调度参数配置存在偏移,导致小时任务每日第一个周期产出昨天最后一小时分区数据,这种情况下,天任务实际需要依赖的小时实例,变为小时任务当天第一个实例。为了解决这种问题,可以考虑上游小时任务配置为“依赖上一周期 > 本节点”,并设置下游天任务的定时调度时间为12:00,这样待上游小时任务定时时间12点的实例运行成功后,下游天任务便会运行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。