数据岗位面试题更新 2026-08-05

请解释 Airflow 中的 DAG 概念,并说明它承担哪些职责?

数据技术原理Apache Airflow

考察说明

考查对 Airflow 核心抽象 DAG 的定义及其在调度工作流中的作用的掌握程度。

回答思路

  1. 【回答框架 1】DAG 是 Airflow 中有向无环图,由任务节点和依赖边组成,用 Python 代码定义,描述工作流的执行顺序和依赖关系。
  2. 【回答框架 2】它的作用是把复杂的数据处理流程拆解为多个可独立调度的任务,并明确任务间的先后与触发条件,使流程可维护、可重试、可监控。
  3. 【回答框架 3】DAG 本身负责定义流程结构,不执行具体任务,真正的执行由调度器根据 DAG 的调度参数生成任务实例并分发到执行器完成。
  4. 【关键点 1】DAG 是有向无环图,保证任务依赖不构成循环。
  5. 【关键点 2】DAG 用 Python 定义,便于版本控制和代码复用。
  6. 【关键点 3】DAG 核心职责是描述任务依赖和调度规则。
  7. 【关键点 4】DAG 运行状态可通过 UI 和日志查看。
  8. 【易错点 1】容易混淆 DAG 定义和任务实例,实际运行的是 DAG 生成的 DagRun 和 TaskInstance。
  9. 【易错点 2】编写 DAG 时不能在同一文件过度使用动态生成或复杂逻辑,会导致解析性能下降。
  10. 【易错点 3】DAG 内任务依赖应明确清晰,避免隐式依赖造成调度混乱。