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

DataWorks上游任务是小时级别(每小时执行),是依赖上游0-3点,而不是1-4点的吗?

DataWorks上游任务是小时级别(每小时执行),下游任务是每隔4个小时执行,这边依赖关系是同周期,但在看下游任务周期实例的时候,发现4:00的,是依赖上游0-3点,而不是1-4点的吗?image.png
image.png

展开
收起
真的很搞笑 2023-11-21 08:50:02 34 0
3 条回答
写回答
取消 提交回答
  • 在DataWorks中,下游任务的实例确实会依赖于上游任务的实例。周期任务运行时会生成多个周期实例,下游周期实例会依赖上游周期实例(该上游实例需在当前下游实例的定时运行时间之前产生)。通常,若不指定需挂载至某个周期实例,下游周期实例挂载依赖时会遵循就近原则,即依赖距离其定时运行时间最近的上游周期实例。

    对于你的场景,如果上游任务是每小时执行一次,而下游任务是每隔4个小时执行一次,并且它们具有同周期的依赖关系,那么理论上,每一个下游任务实例应该依赖上游任务在同一个小时内的所有实例。例如,一个在下午4点执行的下游任务实例,应该会依赖上游在下午0点到3点之间所有的小时级别任务实例。

    然而,如果在查看下游任务实例的时候发现4点的实例依赖的是0到3点的实例,而不是1到4点的实例,可能的原因是这个特定的下游任务实例在设置依赖时,显式指定了需要依赖的上游任务的时间范围,而不是遵循默认的就近原则。

    2023-11-21 15:07:28
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在 DataWorks 中,当两个任务之间存在依赖关系时,一般情况下会采用「近似匹配」的方式来调度依赖任务。这意味着下游任务将依赖最近的一个上游任务运行结果。
    在您的例子中,当上游任务为每小时执行时,下游任务每隔4个小时执行一次。在这种情况下,下游任务通常会选择最近的一个上游任务作为依赖对象。例如,如果您设定下游任务的执行时间为 4:00,那么它会依赖于上游任务在 4:00 左右的最近一次执行结果,而不是 1:00 到 4:00 内的所有上游任务。
    如果您希望下游任务依赖于某个时间段内的所有上游任务,可以尝试使用其他的调度方式,例如分批调度、定时调度等。这样可以更好地控制下游任务的执行时机,确保其依赖关系得到满足。

    2023-11-21 13:38:08
    赞同 展开评论 打赏

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

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    DataWorks数据集成实时同步最佳实践(含内测邀请)-2020飞天大数据平台实战应用第一季 立即下载
    DataWorks商业化资源组省钱秘籍-2020飞天大数据平台实战应用第一季 立即下载
    基于DataWorks数据服务构建疫情大屏-2020飞天大数据平台实战应用第一季 立即下载

    相关实验场景

    更多