开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

咨询如下情景该如何处理:

咨询如下情景该如何处理: 3月1号提交的小时任务A,每小时调度一次,上游依赖是任务B。 3月16号早上10点30分修改小时任务A,更改上游依赖为C,并提交。 由于3月16号小时任务A的实例已经全部生成,11点A实例运行时依赖的还是B任务,导致任务报错。

对于这种在任务实例未运行之前,修改任务的依赖关系的,如何让任务按照最新的依赖关系去运行呢?

展开
收起
滴滴滴~ 2023-03-22 10:00:05 231 0
1 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    针对这种情况,您可以尝试以下几种方法:

    手动停止已经生成的任务实例,等待新的依赖关系生效后,再手动触发任务运行。

    缩短实例生成周期或者调整任务调度时间,使得实例生成的时间尽量靠近任务修改时间。这样,任务在实例生成后,可以按照新的依赖关系运行。

    在任务运行前,加一层判断逻辑,判断任务依赖的上游任务是否与最新的依赖关系一致。如果不一致,则终止任务运行,并等待新的依赖关系生效后,再手动触发任务运行。

    使用流程调度工具,如Apache Airflow等,可以将任务之间的依赖关系建立成流程图,并在流程执行时,自动根据最新的依赖关系去运行任务。

    2023-03-23 10:33:38
    赞同 展开评论 打赏

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

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载