SuperAPI AI 工具集

airflow-dag-patterns

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:为 Apache Airflow 提供生产可用的 DAG 编写模式,适用于创建数据管道编排、设计 DAG 结构与依赖、实现自定义算子与传感器、本地测试 DAG、生产部署及调试失败运行。

主要能力:给出 DAG 设计四原则(幂等、原子、增量、可观测);任务依赖写法(线性、扇出、扇入、复杂依赖);TaskFlow API(@dag、@task 装饰器与自动 XCom);动态 DAG 生成(工厂函数按配置批量创建);分支与条件逻辑(BranchPythonOperator、TriggerRule);传感器与外部依赖(S3KeySensor、ExternalTaskSensor、@task.sensor,建议 mode='reschedule');错误处理与告警(on_failure_callback、ALL_DONE、ALL_SUCCESS);DAG 测试(DagBag、结构、依赖、环检测、函数单测);推荐项目结构与最佳实践。

使用方式:在 dags/ 目录编写 DAG 文件,使用 PythonOperator、EmptyOperator、TaskFlow 装饰器定义任务,用 >> 声明依赖;通过 default_args 配置重试、回调;用 {{ ds }} 宏而非硬编码日期;测试用 pytest 与 DagBag 加载 dags/ 目录。

适用场景:ETL 管道、跨 DAG 依赖等待、文件/API 就绪检测、多相似管道批量生成、失败告警与清理。

限制:资料未提供具体安装命令、版本要求、收费信息或平台支持细节;示例中的 S3、Slack、PagerDuty 等需自行配置连接,部分代码为示意逻辑。