DataWorks我有一个初始化的任务,还有一个周期性的任务,两个节点的输出是一致的。但在我配置周期性任务时,提示不能有相同的输出节点。我应该如何做?
DataWorks我有一个初始化的任务,还有一个周期性的任务,两个节点的输出是一致的。我应该如何做?[阿里云DataWorks]
「点点赞赏,手留余香」
还没有人赞赏,快来当第一个赞赏的人吧!
DataWorks我有一个初始化的任务,还有一个周期性的任务,两个节点的输出是一致的。但在我配置周期性任务时,提示不能有相同的输出节点。我应该如何做?
这是一个比较常见的场景:有一个初始化任务用来产生初始数据,然后用一个周期性任务维护和更新该数据。
DataWorks不建议两个任务有相同的输出,主要有以下原因:
数据冲突:如果两个任务同时运行,可能会覆盖或损坏每个任务产生的数据。
难以调度:后续任务很难正确依赖两个任务的输出,因为它们产生的是同一个数据。
数据lineage混乱:系统无法准确记录数据的来源。
扩容困难:如果需要扩展一个任务,很难将依赖切换到正确的任务上。
所以DataWorks在配置周期性任务时会提示”不能有相同的输出节点”。
建议的处理方法是:
初始化任务和周期任务产生不同的输出。
周期任务初始化时,读取初始化任务的输出作为初始数据。
后续周期任务按照正常逻辑更新数据。
后续依赖任务,都直接依赖周期任务的输出。
通过这种方式,可以实现两个任务的逻辑,又保证他们的输出是唯一的。
需要修改其中一个节点的输出名哈 原因参考 https://help.aliyun.com/zh/dataworks/support/scheduling-dependencies#section-qs0-739-jf5:~:text=%E5%BB%BA%E7%AB%8B%E4%BE%9D%E8%B5%96%E5%85%B3%E7%B3%BB%E3%80%82-,%E5%A4%9A%E4%B8%AA,-%E8%8A%82%E7%82%B9%E5%BE%80%E5%90%8C,此回答整理自钉群“DataWorks交流群(答疑@机器人)”