DataWorks我有一个初始化的任务,还有一个周期性的任务,两个节点的输出是一致的。我应该如何做?[阿里云DataWorks]

DataWorks我有一个初始化的任务,还有一个周期性的任务,两个节点的输出是一致的。但在我配置周期性任务时,提示不能有相同的输出节点。我应该如何做?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. 这是一个比较常见的场景:有一个初始化任务用来产生初始数据,然后用一个周期性任务维护和更新该数据。

    DataWorks不建议两个任务有相同的输出,主要有以下原因:

    数据冲突:如果两个任务同时运行,可能会覆盖或损坏每个任务产生的数据。

    难以调度:后续任务很难正确依赖两个任务的输出,因为它们产生的是同一个数据。

    数据lineage混乱:系统无法准确记录数据的来源。

    扩容困难:如果需要扩展一个任务,很难将依赖切换到正确的任务上。

    所以DataWorks在配置周期性任务时会提示”不能有相同的输出节点”。

    建议的处理方法是:

    初始化任务和周期任务产生不同的输出。

    周期任务初始化时,读取初始化任务的输出作为初始数据。

    后续周期任务按照正常逻辑更新数据。

    后续依赖任务,都直接依赖周期任务的输出。

    通过这种方式,可以实现两个任务的逻辑,又保证他们的输出是唯一的。