Apache Airflow


  • 文集信息
  • 目录大纲
  • 最新文档
  • 知识宇宙

文集详情

文集导读

教程导读

一句话定位:Apache Airflow 是用 Python 代码声明任务依赖、按时或按数据就绪去调度、并在界面上盯进度的工作流编排平台。本教程面向要亲手写出第一条能跑的 DAG、再把它送进生产的数据工程师与平台运维。

这个教程解决什么问题

Cron 能在凌晨两点叫醒一台机器,但它不知道“会话切分必须等日志拉完、归因失败则漏斗聚合别跑、昨天没补上的窗口今天要不要硬追”。脚本能跑,因果链却写在某个人的脑子里。Airflow 把这条因果链变成有向无环图:节点是任务,边是必须满足的前置条件,调度器按时间窗口或数据就绪去创建一次次运行实例。

原文把它比作数据城市的操作系统,这个比喻有一半对:它不替代数仓、计算引擎或消息队列,只负责“何时做、按何顺序、失败怎么退、成功向谁报”。另一半要落地——你真正交付的不是口号,而是一份可解析的 DAG:start_date、schedule、retries、trigger_rule 都写在代码里,调度器才能履约。

本教程的主调是动手优先。第 1 章先写一条能被调度起来的最小 DAG,对照 DAG、Task、Operator、DagRun 这些现场用语;第 2 章把定义、算子、依赖、TaskFlow 写透;第 3 章才拆 Scheduler、Executor 与时间语义。部署、安全、性能、测试放在后半,避免一上来就被架构图淹死。

适合谁读

  • 已经会一点 Python,要把定时脚本改成可观测流水线的数据工程师
  • 需要给团队立 DAG 规范、选 Executor、盯元数据库的平台或运维同学
  • 分析师、ML 工程师:你不一定自己运集群,但要读懂依赖、XCom 和失败重试在说什么

不适合:完全没写过 Python、只想点选 SaaS 向导的读者。本教程会给概念代码,不会给可复制的完整仓库路径。

学完你能做什么

  1. 写一条带依赖、重试、时间窗口语义正确的 DAG,并解释 execution_date 与数据区间的关系
  2. 在 PythonOperator、专用 Operator、TaskFlow、动态映射之间做取舍,控制 XCom 体积
  3. 按规模选择 Sequential、Local、Celery、Kubernetes 执行器,并说清 Scheduler 不执行任务
  4. 给生产定部署边界:元数据库、Worker、日志、密钥、RBAC,以及监控该看哪些状态
  5. 用 DAG 解析测试、任务级测试和发布闸门,挡住 catchup 误开、硬编码密码这类事故

学习路线

图 本教程的动手路径

图 本教程的动手路径

怎么用这个教程

建议的阅读节奏:第 1 章用一次完整阅读把最小 DAG 和术语对齐;第 2 章对着自己的流水线改,不要另起玩具图。第 3 章在你被窗口坑过一次之后再读,会更记得住。第 4 到第 6 章给要上生产的人。每章预计从一小时到半天不等,取决于你是否动手触发一次失败。

每节有一张对照表、一段概念代码或 ASCII 工位图、以及 ⚠️/💡。代码是语义草稿,不是完整安装手册,也不提供仓库路径。平台禁止外链,需要查官方参数时,到 Apache Airflow 文档按类名检索即可。

章 你要亲手确认的事 读完应能区分
第1章 一条 DAG 为何能被解析、暂停、触发 DAG 与 DagRun、任务与算子
第2章 依赖、XCom、映射怎么写才不会撑爆元数据库 控制流与数据流
第3章 任务是谁真正拉起来的 Scheduler 与 Executor
第4章 单机、Celery、K8s 各自把状态放哪 元数据、日志、Worker
第5章 数据就绪、延迟算子、权限边界 时间触发与数据集触发
第6章 合并前要挡哪些回归 解析测试与运行时测试
先写 DAG ──► 再问谁执行 ──► 再问怎么活过故障 │ └─不要一上来背 Executor 名词表 ​

⚠️ 把 start_date 当成“今天几点开机”,是本教程第 1 章和第 3 章反复要拆掉的误读。它是时间坐标原点,不是电源开关。
💡 界面里一次绿色的成功,只说明这一次 TaskInstance 走到了 success。契约写在 DAG 参数里:窗口、重试、触发规则、池。

动手环境只需要 Python 和一份能被调度器扫到的 DAG 定义。开发阶段用 Sequential 或 Local 执行器就够验证依赖边;不要把“先装一套 Kubernetes”当成入门门票。元数据库在开发可以用 SQLite,心里要清楚它进不了生产。连接、变量、池这些抽屉,等第 2 章用到再开,避免一上来把界面点成迷宫。

和原文 brief 的差别也说在这里。旧简介把 Airflow 写成数据城市的操作系统、意图编排中枢、组织契约的物理载体——修辞能帮人建立敬畏,但不能帮你解释为什么 catchup=True 会把连接池抽干。本教程把那些判断收成可检查的字段:窗口、重试、触发规则、池、owner。你写得对不对,调度器会用状态机投票,不靠金句。

官方定位原句是:用程序编写、调度并监控工作流。三个动词对应三件事:你写 DAG,调度器生成运行,Web 界面与日志让失败可见。本教程按这个顺序教,不按编年史教。Spotify 在 2014 年前后用它从 cron 与 Oozie、Luigi 的缝里走出来,这段只当背景:我们关心的是你现在怎么把“先拉后洗再装”写成一张不会在补数时撒谎的图。窗口语义写对了,编排器才开始替你履约。学完后若只能背组件名词、写不出一条会失败得正确的链,请从第 1 章的失败演练重来。失败可见,才算入门。入门之后再谈集群,集群才会听你的图说话。

目录大纲

    最新文档

    知识宇宙

    正在加载知识图谱...


    转发
    作者与出处
    发布者 / 整理账号: 灏天文库
    来源:平台策划编纂
    由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
    《Apache Airflow》是什么?
    Apache Airflow是工作流调度平台,以代码定义任务依赖,实现数据管道的可视化管理。 本站提供目录导航、全文检索与在线阅读,便于系统化学习。
    《Apache Airflow》适合谁阅读?
    适合希望系统学习《Apache Airflow》的初学者,以及需要查漏补缺、按需查阅的进阶学习者。
    《Apache Airflow》包含哪些内容?
    文集围绕主题系统展开,共收录 26 篇文档。本站将全部内容按目录结构化呈现,支持全文检索与在线阅读,方便按主题跳转与反复查阅。
    《Apache Airflow》的内容从何而来?
    本文集由灏天文库平台收录,内容或由平台用户上传分享,仅供学习交流,版权归原作者所有。
    《Apache Airflow》的版权如何归属?
    本文集版权归原作者所有,灏天文库平台仅提供在线收录与学习展示;如需转载或商用请遵循原版权方要求。