Apache Airflow 简介

Python 中的 Apache Airflow 入门

Mike Metzger

Data Engineer

什么是工作流?

  • 工作流(Workflow)- 为完成某个数据工程过程而设计的一组步骤

 

  • 例:下载文件、复制数据、筛选信息并写入数据库

工作流示意图:从下载文件到写入数据库的顺序步骤

Python 中的 Apache Airflow 入门

什么是 Airflow?

Airflow——用于编排工作流的平台:

  • 创建
  • 调度
  • 监控

 

Apache Airflow 标志

   

表示创建、调度与监控工作流的图标

Python 中的 Apache Airflow 入门

什么是 Airflow?

  • 可执行任意语言的程序,但工作流以 Python 编写
  • 将工作流实现为 DAG
  • 可通过网页、代码、命令行或 REST API 访问
  • 用于 ETL 流水线、ML 工作流、自动化等

 

Apache Airflow 标志

Python 中的 Apache Airflow 入门

DAG 快速介绍

DAG——表示执行一个工作流所需全部内容的模型。

  • 由任务及其依赖组成
  • 创建时包含名称、邮箱、所有者等信息

示例 DAG:任务由依赖箭头连接

Python 中的 Apache Airflow 入门

Airflow 组件

  • 计划器(Scheduler)- 触发计划的工作流,提交任务
  • API 服务器 - 为 Airflow 提供一致且安全的访问
  • DAG 处理器 - 被计划器读取,用于确定运行哪些任务及其时间
  • 元数据数据库 - 存储 DAG 和任务的状态

Airflow 组件示意图:计划器、API 服务器、DAG 处理器和元数据数据库

Python 中的 Apache Airflow 入门

在 Airflow UI 中运行工作流

Airflow DAGs 视图,显示两个已加载的 DAG 及交互选项

Python 中的 Apache Airflow 入门

在 Airflow UI 中运行工作流

Airflow DAGs 视图,高亮触发播放按钮

Python 中的 Apache Airflow 入门

在 Airflow UI 中运行工作流

Airflow 触发 DAG 弹窗,显示默认运行选项和 Trigger 按钮

Python 中的 Apache Airflow 入门

在 Airflow UI 中运行工作流

Airflow DAGs 视图,显示最新一次成功运行,带绿色对勾

Python 中的 Apache Airflow 入门

在 Airflow UI 中运行工作流

Airflow DAG 运行的任务视图,列出各任务详情,如 generate_random_number

Python 中的 Apache Airflow 入门

¡Vamos a practicar!

Python 中的 Apache Airflow 入门

Preparing Video For Download...