跳到主要内容

Task Flow(任务流)

Task Flow 是 Databend Cloud 内置的工作流编排功能。你可以将多个 SQL 任务组织成有向无环图(DAG),统一调度、监控和管理,无需引入任何外部编排工具。

图中每个节点是一个 Task(任务),包含一条 SQL 语句及其调度配置。多个任务组合成一个 Flow(流),Databend Cloud 根据依赖关系自动决定执行顺序。

Alt text

功能概览

Task Flow 是对旧版 Task 列表 的全面升级:

功能旧版 Task 列表Task Flow
单条 SQL 任务
多任务 DAG 编排
可视化图形编辑器
版本历史与回滚
Stream 事件触发
批量操作

核心概念

Task(任务)

任务是最小的执行单元,包含:

  • 一条待执行的 SQL 语句
  • 调度方式(手动、间隔、Cron)
  • 可选的上游依赖(其他任务或 Stream)
  • 高级配置(失败阈值、结果缓存、最小执行间隔)

Flow(流)

Flow 是一组有依赖关系的任务集合,具有:

  • 名称和指定的计算集群
  • 一个或多个任务及其依赖关系
  • 完整的生命周期:已创建 → 已启动 → 已暂停 → 已恢复 → 已删除

DAG(有向无环图)

任务之间的依赖关系图。若 Task B 依赖 Task A,则 Databend Cloud 会先执行 Task A,仅在 Task A 成功后才触发 Task B。图中不允许出现循环依赖。

快速开始

创建 Task Flow

  1. 在左侧导航栏进入 数据任务
  2. 点击右上角 创建
  3. 在弹出的 Flow 编辑框中:
    • 填写 Flow 名称
    • 选择执行任务所用的 计算集群
  4. 点击 添加任务到流中 添加第一个任务。

Alt text

Alt text

配置任务

在任务表单中填写以下内容:

基本配置

字段说明
Task Name任务名称,在 Flow 内唯一
Schedule调度方式:手动、间隔(如每 5 分钟)或 Cron 表达式
TimezoneCron 调度使用的时区
SQL要执行的 SQL 语句
Comment可选备注

依赖配置

字段说明
Require Tasks必须先完成的上游任务(多选)
Require Stream指定数据库 Stream,有新数据时才触发本任务

高级选项

字段说明
Suspend Task After Num Failures连续失败 N 次后自动暂停(0 表示不限制)
Enable Query Result Cache开启查询结果缓存,避免重复计算
Min Execute Seconds两次执行之间的最小间隔(5s / 10s / 15s / 30s)
  1. 点击 暂时保存 将任务加入 Flow。
  2. 重复以上步骤添加更多任务,通过 依赖->任务 定义任务间的依赖关系。
  3. 点击 提交发布 发布 Flow。
备注

只有 account_admin 或 Flow 的创建者才能编辑或删除 Flow。

可视化 DAG

创建 Flow 后,点击 Flow 名称进入详情页。最近运行 标签页展示 DAG 可视化图:

Alt text

每个节点显示:

  • 任务名称
  • 最近一次执行状态(颜色区分)
  • 执行时间范围
  • 失败时的错误信息(悬停查看)

状态颜色说明:

颜色状态
蓝色边框已调度(等待执行)
绿色边框执行成功
红色边框执行失败
浅蓝色边框执行中
灰色边框已取消 / 等待中

管理 Flow

Flow 操作

Task & Flows 列表中,每行提供以下操作:

操作说明
编辑修改 Flow 名称、计算集群或任务配置
暂停停止所有定时调度
恢复重新启用定时调度
立即执行触发一次性立即运行
查看运行历史查看所有历史执行记录
查看版本历史浏览和对比历史版本
删除永久删除 Flow

批量操作

勾选多个 Flow 后,可通过批量操作菜单执行:

  • 批量暂停
  • 批量恢复
  • 批量删除

监控执行情况

运行历史

在详情页点击 运行历史 标签,查看所有历史执行记录:

列名说明
Task Name执行的任务名称
Warehouse使用的计算集群
State调度中 / 执行中 / 成功 / 失败 / 已取消
SQL执行的 SQL(含 Query ID 链接)
Scheduled Time触发时间
Completed Time完成时间
Comment任务备注

失败或取消的运行会显示错误提示,点击可查看详情或提交工单。

全局任务历史

进入 数据任务运行历史,可查看组织内所有 Flow 的执行记录,支持按以下条件筛选:

  • 任务名称(多选)
  • 时间范围(最近 2 天、最近 3 天)

版本控制

每次发布 Flow 变更,Databend Cloud 都会自动保存一个版本快照。访问版本历史:

  1. 打开 Flow 详情页。
  2. 点击 版本历史 标签。

对比版本

  1. 勾选两个版本。
  2. 点击 版本对比
  3. 侧边抽屉以并排方式展示两个版本的 SQL 差异。

Alt text

回滚到历史版本

  1. 在列表中选择目标版本。
  2. 点击 回滚
  3. 在确认弹窗中确认操作。

Flow 将恢复到所选版本,并自动生成一条新的版本记录。

调度配置参考

调度类型

手动(Manual) 仅通过 立即执行 手动触发,不自动调度。

间隔(Interval) 每隔 N 分钟/小时执行一次。示例:EVERY 5 MINUTE

Cron 标准 Cron 表达式,支持时区配置。示例:0 9 * * 1-5(工作日每天上午 9 点)。

Stream 触发

若任务配置了 依赖->Stream 依赖,则只有当指定 Stream 中存在未消费数据时,任务才会执行。适合构建基于 CDC 变更事件驱动的增量数据管道。

最佳实践

  • 从简单开始:先创建单任务 Flow 验证 SQL 逻辑,再逐步添加依赖关系。
  • 用 Stream 构建 CDC 管道:将 Stream 触发与 MERGE INTO 结合,构建高效的增量数据同步流程。
  • 设置失败阈值:合理配置 Suspend Task After Num Failures,防止任务反复失败消耗计算集群资源。
  • 开启结果缓存:对于重复查询相同数据的任务,开启 Query Result Cache 可显著降低计算成本。
  • 善用版本历史:在进行重大变更前记录当前版本号,出现问题时可快速回滚。
  • 按负载分配 计算集群:将重型转换任务分配到较大的计算集群,轻量任务使用较小规格,合理控制成本。

权限说明

角色创建编辑删除查看
account_admin✅(所有)✅(所有)
创建者✅(自己的)✅(自己的)
其他用户
欢迎体验 Databend Cloud

基于 Rust + 对象存储构建的新一代多模态数仓,一个平台即可进行 BI、向量、全文检索及地理空间分析。

支持标准 SQL,自动弹性伸缩,助您快速构建现代化数据平台。

注册即领 ¥200 代金券。

注册体验