Airflow
你可能会说
每天几百个定时任务,crontab 已经管不住了。
用 DAG 编排数据任务Python 定义依赖,自带调度、重试、回填和可视化;它调度的是任务,不处理数据流本身。
也常被叫作任务调度DAG
什么时候选它
- 离线 ETL / 数据管道编排
- 任务依赖、重试、补数
- 多系统之间的定时协同
什么时候别选
- 实时流处理(Flink / Kafka Streams)
- 只有几个 cron 任务(系统 cron 更轻)
- 超大规模高频调度(调度器会成为瓶颈)
容易混在一起 · 怎么分
Airflow≠dbt
Airflow 管任务什么时候跑、按什么顺序跑;dbt 管 SQL 怎么转换、依赖和测试。
Q面试会问什么
- 问:DAG 是什么?
答:有向无环图,节点是任务、边是依赖,调度器按依赖顺序触发,不能有环。 - 问:为什么任务必须幂等?
答:重试和补数会重复执行,非幂等任务会产生重复数据。
延伸阅读 · 权威出处