选型

Airflow

你可能会说

每天几百个定时任务,crontab 已经管不住了。

用 DAG 编排数据任务Python 定义依赖,自带调度、重试、回填和可视化;它调度的是任务,不处理数据流本身。
也常被叫作任务调度DAG
先问一句上百个定时任务要依赖管理?
默认Airflow→擅长DAG 调度→别用毫秒级流处理
成熟度采用

什么时候选它

  • 离线 ETL / 数据管道编排
  • 任务依赖、重试、补数
  • 多系统之间的定时协同

什么时候别选

  • 实时流处理(Flink / Kafka Streams)
  • 只有几个 cron 任务(系统 cron 更轻)
  • 超大规模高频调度(调度器会成为瓶颈)
容易混在一起 · 怎么分
Airflow≠dbt

Airflow 管任务什么时候跑、按什么顺序跑;dbt 管 SQL 怎么转换、依赖和测试。

Q面试会问什么

  • 问:DAG 是什么?
    答:有向无环图,节点是任务、边是依赖,调度器按依赖顺序触发,不能有环。
  • 问:为什么任务必须幂等?
    答:重试和补数会重复执行,非幂等任务会产生重复数据。
延伸阅读 · 权威出处