组合任务
组合任务是一种特殊的任务类型,它支持将多个周期任务(例如离线同步、SQL 任务)封装为独立单元,以实现统一调度配置、参数管理和运维操作,并且能够与其他普通节点建立依赖关系。本任务类型适用于需要批量管理任务流程、统一控制调度周期的业务场景(如增量计算、跨任务协同)。组合任务与任务组功能进行对比,两者存在以下核心区别:
- 任务组属于逻辑管理概念,可将多种任务置于一个组内进行统一展示与编排。组合任务是一种任务类型的实体,与普通的 SQL 任务处于同等地位,可在任务组中添加组合任务作为其元素之一。
- 从外部看,组合任务是一个整体,但内部会包含一到多个子任务节点(这些子任务可以是 SQL 任务、离线同步任务等各种周期调度任务)。
- 组合任务支持统一设定调度时间,其内部所有子任务节点依据该调度时间进行同频调度。这尤其适用于对所有任务节点的数据新鲜度有相同要求的数据处理链路。任务组上不支持设定调度定时属性。
快速上手:创建组合任务
组合任务的创建操作,整体上和普通周期 SQL 任务等非常类似。
创建入口
支持通过以下路径新建组合任务:
-
任务开发:任务Tab → 新建任务 → 选择“组合任务”

-
任务组详情页:任务组内 → 添加新任务 → 选择“组合任务”;

-
工作区:顶部导航栏 → 新建任务 → 选择“组合任务”。

基础信息填写
在创建组合任务的弹框中,和其他普通 SQL 任务一样,填写需要的信息:
-
任务名称:必填。
-
文件夹:任务要放入的文件夹(必填)。
-
任务组:选择是否放入任务组,如需放入则选定具体的任务组名称(可选)。

核心功能操作指南
子任务管理(画布模式)
组合任务目前通过画布(DAG 图)来展示子任务节点,并支持以下操作:

添加子任务
-
入口:画布工具栏 → 「新建子任务」→ 选择任务类型(仅支持周期任务:离线同步、SQL等;不支持实时任务)。通过单击任务类型或拖拽的方式,可将子任务添加到组合任务中。

-
默认状态:新增的子任务,默认无依赖,需手动调整依赖关系(通过页面上连线或在子任务详情进行配置)。
编辑子任务
-
方式:
- 在添加子任务节点时,会默认进入子任务的详情页,便于编写代码和配置调度信息。
- 双击子任务 → 进入普通节点编辑页(复用现有编辑功能);
-
限制:为了确保组合任务提交后运行正常,子任务不支持独立保存为半成品,需填写所有必填属性(如代码、集群、调度属性)后才能保存。在退出子任务编辑前,请确保这些信息完整且已正确保存。
依赖编排
- 子任务中配置:在子任务上,点击「调度」→ 在「调度依赖」中设定它依赖的上游子任务。
- 画布上连线:在组合任务的DAG画布上,选中源节点 → 拖拽连线至目标节点 → 建立“上游→下游”依赖。也可以通过操作连线来删除依赖关系。
画布工具
- 自动排版:工具栏 → 「自动布局」→ 按依赖关系优化DAG展示;
- 缩放/刷新:工具栏 → 「+/-」调整画布大小,或「刷新」重置视图。
调度配置(全局与局部结合)
组合任务的调度策略通过全局配置(组合任务层级)与局部配置(子任务层级)协同管理。整体思路是:子任务默认继承组合任务的全局配置,也支持在局部单独配置;若局部已配置,则以局部配置为准。关键配置项如下表:
| 配置项 | 全局配置(组合任务) | 局部配置(子任务) |
|---|---|---|
| 调度时间 | 必配,支持Cron表达式(子任务不可独立设置) | 无(子任务遵循组合任务全局设定的调度时间、同频调度运行) |
| 实例重跑 | 全局设置(重跑次数、间隔),子任务默认继承 | 可选覆盖全局设置(仅支持SQL等特定任务类型) |
| 任务优先级 | 全局设置(默认值) | 可选单独设置(覆盖全局,仅SQL节点支持) |
| 自依赖 | 全局设置(控制组合任务周期依赖) | 无(子任务自依赖通过组合任务全局自依赖间接实现) |
示例:若组合任务全局设置为“重跑次数 3 次,间隔 5 分钟”,某子任务单独配置为“重跑次数 5 次”,则该子任务实际使用“重跑 5 次,间隔 5 分钟”。


参数管理(组合任务→子任务传递)
定义参数
-
入口:组合任务详情页 → 点击「参数」→ 在弹框中新增参数(如
composite_task_param):

-
作用域:仅当前组合任务内部有效,不同组合任务之间参数隔离。
引用参数
在子任务的参数配置中,若参数名称与组合任务定义的参数名称相同,在参数取值处会自动识别并提示选择参数的取值来源。若要使用组合任务全局定义的参数,在取值来源处选择“组合任务”;否则,可选择“任务”。

在子任务的代码中,支持通过${参数名}引用参数。示例(SQL子任务):
高级操作:保存与提交
保存组合任务
- 组合任务当前不支持全局统一保存所有子任务节点。请逐一保存每个子任务,确保其代码、调度配置等信息已保存。之后,再提交组合任务。
提交组合任务
-
作用:支持将组合任务及内部所有子任务提交到生产环境周期调度运行,会生成对应的“提交版本”。
-
操作入口:组合任务详情页 → 「提交」。

运维与监控
组合任务的运维
组合任务在运维中心会与其他周期任务一并在列表中展示,并支持类似的操作,如暂停、补数据、下线等。

| 操作 | 说明 |
|---|---|
| 暂停/恢复 | 暂停后,组合任务及子任务停止调度;恢复后,按当前配置继续执行。 |
| 补数据 | 选择时间范围 → 组合任务整体按调度规则生成补数据实例(包含所有子任务实例)。 |
| 下线 | 下线后任务不再调度。需检查是否存在下游依赖(若存在下游依赖,则无法直接下线,需使用“下线(含下游)”功能)。 |
组合任务实例的运维
在实例运维 Tab 页,可以查看到组合任务的实例,与其他周期任务实例并列,并支持重跑、置成功/置失败等操作,如下图所示:

状态查看
- 整体状态:组合任务实例状态由子任务状态综合判定,具备以下状态:未运行(所有子任务未运行)、运行中(任一子任务运行中)、运行成功(所有子任务成功)、运行失败(至少一个子任务失败)。
- 下钻查看:点击实例ID → 进入子任务实例DAG页,查看各子任务运行详情(含日志、状态)。
实例操作
| 操作 | 在哪些状态下支持 | 行为说明 |
|---|---|---|
| 重跑 | 任意终态(失败/成功) | 整体重跑组合任务,子任务按各自重跑规则生成新实例(不支持选择部分子任务)。 |
| 置成功/置失败 | 未运行/终态 | 组合任务及所有子任务实例状态强制变更为成功/失败。 |
| 终止 | 运行中 | 终止所有运行中/未运行的子任务实例,状态置为失败。 |
组合任务的监控告警
在监控告警中,组合任务会被归入周期调度任务这一大类。先前的“任务实例运行失败”、“周期任务实例完成时间”等监控项,对其也同样生效。可以像配置普通SQL周期任务一样,配置监控规则来对其运行状态和耗时等进行监控。

组合任务触发质量规则校验
在配置数据质量规则时,于规则运行触发方式中,可选择组合任务作为调度触发对象,如下图所示。可以选择具体的子任务来触发;若“子任务”留空,则会在组合任务整体运行完成后触发。

注意事项
- 类型限制:组合任务的子任务,仅支持周期任务(离线同步、SQL等),实时任务(多表实时同步、Continuous Job等)不可添加。
- 参数作用域:组合任务参数仅内部可见,不能被其他组合任务使用。跨组合任务共享参数,需通过任务组参数等来承接。
- 版本管理:组合任务仅支持“提交版本”(无保存版本),暂不支持版本回滚。
- 任务依赖:在任务组内,组合任务作为整体存在,不可单独添加任务组内部的子任务,且依赖关系为组合任务整体与其他任务的依赖。组合任务的内部子任务不能依赖任务组内其他任务,也不能被任务组内其他任务依赖。
