功能简介
归并任务用于对上游节点的运行状态进行归并,统一为一个明确的终态结果,从而解决分支任务下游节点的依赖挂载与运行触发问题。
在分支场景中,分支任务每次运行只会命中并执行其中一条分支路径,其余分支会因「分支条件不满足」而跳过。此时如果某个下游任务同时依赖了多条分支的输出,按常规依赖逻辑它将永远无法满足「所有上游都成功」的条件,导致下游无法触发。
归并任务通过自定义的归并逻辑(如「任一分支完成即视为成功」),把多个分支的状态归并成一个统一的终态结果,使下游任务能够正常被触发或被合理跳过。
什么场景下建议使用归并任务
归并任务的核心价值在于处理分支后下游的依赖触发问题。当出现以下情况时,建议使用归并任务:
- 分支下游需要「任一分支完成即继续」
分支任务每次运行只会命中一条分支路径,其余分支会被跳过。如果下游任务同时依赖了多条分支的产出,按普通依赖会因「并非所有上游都成功」而无法触发。
此时用归并任务以「或」逻辑归并这些分支状态——任一分支完成即视为满足,下游即可正常被触发。
- 多条分支汇聚到统一的下游处理
多条分支分别处理不同来源或不同逻辑的数据(如多渠道、多业务线),最终都要汇入同一个下游任务(统一报表、汇总宽表、统一入仓)。 用归并任务把这些分支的状态统一成一个终态,作为下游的单一依赖入口,避免下游挂多个无法同时满足的分支依赖。
- 下游的触发条件是「逻辑组合」而非「全部成功」
当下游是否运行取决于多个上游的组合判定(如「A 成功 或 B 成功」「A 成功 且 B 分支未命中」),而不是简单的「所有上游都成功」时,可用归并任务的「且 / 或」组合 + 多种终态(成功 / 失败 / 分支条件不满足)来精确表达这种触发逻辑。
- 需要对分支结果做容错 / 兜底
希望下游在分支失败或未命中时也能按预期处理(例如走兜底逻辑、或明确跳过),可通过归并条件中选择对应的终态来实现,把不确定的分支结果收敛成一个确定的下游触发信号。
不建议使用的情况
- 上游没有分支、是普通的线性依赖:直接使用标准的调度依赖即可,无需引入归并任务。
- 下游只依赖单一上游、且就是「上游成功才运行」:用普通依赖更简单清晰。
- 需要临时运行 / 补数的任务:归并任务暂不支持临时运行与补数(详见「使用限制」)。
核心概念
终态(执行状态)
归并条件依据上游节点的终止状态进行判断,支持以下三种:
创建与配置归并任务
新增归并任务后,通过可视化拖拽的方式完成归并逻辑配置。

归并条件设置
每条归并条件包含两部分配置:
- 选择上游任务 与任务调度依赖一致,可通过任务名称、输出名、输出表名的方式选择上游任务。
- 选择该任务的执行状态 即上游节点的终止状态:成功、失败、分支条件不满足(详见上文「终态」说明)。
支持添加多个归并条件,并通过「且 / 或」组合这些条件的判定关系。
| 执行状态 | 说明 |
| 成功 | 节点正常运行完成 |
| 失败 | 节点运行失败 |
| 分支条件不满足 | 上游为分支节点,本次判断未命中该分支,分支逻辑未触发 |
逻辑关系:
当配置了多个归并条件时,条件之间支持「且」「或」运算:
- 且(AND):上游所有分支节点均需处于终态(即运行完成),并且全部满足各自设置的执行状态时,「执行结果设置」中配置的本节点运行状态才会生效。
- 或(OR):上游所有节点均需处于终态(即运行完成),并且任意一个分支节点满足其设置的执行状态时,「执行结果设置」中配置的本节点运行状态才会生效。
归并条件与调度依赖的关系
归并条件本质上也是「选择上游依赖任务并对其状态进行归并」,因此它与「调度依赖」配置之间存在单向自动同步关系:
- 用户点击保存时,系统会自动将归并条件中依赖的上游任务添加到「调度依赖」配置中。
- 反之,「调度依赖」中手动添加的任务依赖,不会自动回填到归并条件中。
示例: 归并任务对「分支下游1」「分支下游2」的状态进行归并,同时在调度依赖中额外依赖了「报表2」。 那么归并任务的运行条件为:「分支下游1」「分支下游2」满足归并条件之后,还需等待「报表2」执行完成,才会正式执行。
