工作流DAG含义
DAG 的全称是 Directed Acyclic Graph,中文叫有向无环图。
简单解释
- 有向(Directed):边有方向,表示“从 A 指向 B”(通常代表依赖关系:A 完成后才能执行 B)。
- 无环(Acyclic):图中不能形成环,也就是不能出现循环依赖(否则任务会永远卡住)。
- 图(Graph):由节点(任务)和边(依赖)组成的结构。
在工作流(Workflow)中的核心作用
几乎所有现代数据调度 / 任务编排系统都用 DAG 来描述工作流:
- 节点 = 一个具体任务(比如跑 SQL、训练模型、发送邮件)
- 有向边 = 任务之间的依赖关系(“这个任务必须等上一个完成”)
- 无环 = 保证任务可以按拓扑顺序顺利执行,不会死循环
典型例子:
爬取数据 → 清洗数据 → 特征工程 → 模型训练 → 评估 → 部署
↘ ↗
数据验证
这就是一个典型的 DAG 工作流。
应用场景
- 数据工程:Apache Airflow、Prefect、Dagster、观远 Universe 等
- 机器学习流水线:模型训练、特征处理、推理服务编排
- CI/CD、自动化运维、多 Agent 系统编排等