更新时间:2025-11-04 GMT+08:00
分享

上游驱动调度

解释说明

该调度模式仅用于配置外部“事件驱动调度”作业的下游链条上的作业。从该作业追溯到最上游至少有一个“事件驱动调度”的作业。

图1 上游驱动调度
  1. “事件驱动调度”作业的下游作业只能是“上游驱动调度”作业。上游驱动作业会接收到原始触发HTTP事件的biz_time信息,根据该信息进行频次控制。
  2. “上游驱动调度”的上游作业可以是“事件驱动调度”、 “上游驱动调度”、“周期调度作业”。但必须至少有一个“事件驱动调度”或“上游驱动调度”作业,否则该作业永远不会被触发执行。

参数配置

表1 “上游驱动调度”的参数配置

参数

说明

生效时间

调度任务的生效时间段。

依赖作业

此处可以选择不同工作空间的周期调度作业作为依赖作业,则仅当依赖的作业运行完成时,才开始执行当前作业。

依赖的失败后,当前处理策略

当依赖的在当前作业周期内存在运行失败实例后,选择当前的处理策略:

  • 等待执行

    等待执行当前,等待执行的会阻塞后续的执行。您可以手动将依赖的强制成功,解决阻塞问题。

  • 继续执行

    继续执行当前。

  • 取消执行

    取消执行当前,当前的状态为“取消”

例如,当前作业调度周期为1小时, 依赖调度周期为5分钟。
  • 如果当前参数配置的是取消执行,依赖的作业12个实例中只要有一个失败的,当前作业就取消执行。
  • 如果当前参数配置的是继续执行,只要依赖的作业12个实例跑完了,当前作业就继续执行。
    说明:

    依赖的作业失败后,当前作业处理策略可通过配置默认项进行批量设置,无需每个作业单独设置。具体请参见配置默认项。该配置仅对新建作业有效。

配置作业依赖时,可以对所依赖的作业是否在调度中进行过滤

配置作业依赖关系时,可以对所依赖的作业是否在调度中进行过滤,避免上游依赖的作业未开始调度,从而导致下游作业失败。

  • 全部作业
  • 调度中的作业

自动解析依赖

对于SQL类的节点,数据开发可根据节点中的任务代码,自动解析出当前节点的上下游依赖关系。

自动解析依赖支持的SQL类型:MRS Spark SQL、Hive SQL、DWS SQL和DLI SQL。

跨周期依赖

选择实例之间的依赖关系。

  • 不依赖上一调度周期。此处可以配置并发数,表示多个作业实例并行执行的个数。如果并发数配置为1,前一个批次执行完成后(包括成功、取消、或失败),下一批次才开始执行。
  • 自依赖(上一调度周期的作业实例执行成功下一周期才会执行,否则处于等待运行状态。等待上一调度周期结束才能继续运行)。
  • 跳过等待的实例,运行最近的批次(如果勾选该参数,跳过的作业实例将被置为取消状态且不再执行,当单作业实例执行时间过长时,可能会造成后续多批次作业全部被跳过。当作业实例需要持续执行时,强行跳过可能会造成业务逻辑错误,如当输出为分区表时,跳过冗余作业实例可能会造成“分区空洞”,建议谨慎配置此选项)。
    说明:
    • “跳过等待的实例,运行最近的批次”当前只支持分钟或小时调度的作业实例跳过。
    • 作业并发数配置比较低,实例未生成情况下,阻塞实例不会跳过。
    • 小周期依赖大周期时,可能会存在部分实例没有跳过,仍然执行。

触发频度

选择触发频度。

  • 小时
  • 不限频度
    说明:

    作业开发者可为“上游驱动触发”的作业设置自己的触发频度,例如,设置为天、小时或不限制频度。当设置为天,作业在一天内最多被触发一次(事件携带当天biz_time的事件首次到达时);当设置为小时,当收到同一个小时内的多个事件(事件的biz_time的在同一小时内),作业仅第一次被触发。

是否空跑

如果勾选了空跑,任务不会实际执行,将直接返回成功。

任务组

选择已配置好的任务组。配置方法请参见配置任务组

系统默认“不选择任务组”。

任务组配置好后,可以更细粒度地进行当前任务组中的作业节点的并发数控制,比如作业中包含多个节点、补数据、重跑等场景。

说明:

对于Pipeline作业,每个节点都可以配置一个任务组,也可以在作业里面统一配置任务组,如果配置了节点级任务组,则优先级高于作业级的任务组

相关文档