工作流DAG含义

DAG 的全称是 Directed Acyclic Graph,中文叫有向无环图


简单解释

  • 有向(Directed):边有方向,表示“从 A 指向 B”(通常代表依赖关系:A 完成后才能执行 B)。
  • 无环(Acyclic):图中不能形成环,也就是不能出现循环依赖(否则任务会永远卡住)。
  • 图(Graph):由节点(任务)和边(依赖)组成的结构。

在工作流(Workflow)中的核心作用

几乎所有现代数据调度 / 任务编排系统都用 DAG 来描述工作流:

  • 节点 = 一个具体任务(比如跑 SQL、训练模型、发送邮件)
  • 有向边 = 任务之间的依赖关系(“这个任务必须等上一个完成”)
  • 无环 = 保证任务可以按拓扑顺序顺利执行,不会死循环

典型例子

爬取数据 → 清洗数据 → 特征工程 → 模型训练 → 评估 → 部署
         ↘          ↗
           数据验证

这就是一个典型的 DAG 工作流。

应用场景

  • 数据工程:Apache Airflow、Prefect、Dagster、观远 Universe 等
  • 机器学习流水线:模型训练、特征处理、推理服务编排
  • CI/CD、自动化运维、多 Agent 系统编排等