Apache Airflow 训练营:动手实践工作流程自动化

Apache Airflow Bootcamp: Hands-On Workflow Automation

使用 Apache Airflow 构建和管理强大工作流的分步指南

 学习内容

  • 了解什么是 Apache Airflow、其用途以及使用 Airflow 的优缺点
  • 安装 Airflow 的分步指南
  • 启动和导航 Airflow Web UI 并了解各种视图:DAG、网格、图形、日历、任务持续时间、代码、变量和甘特图
  • 了解什么是 DAG 以及如何创建 DAG 定义文件以及创建 DAG 的不同方法
  • 了解 DAG Run、default_arguments 和 DAG 参数以及 Master scheduling 概念,例如 depends_on_past、wait_for_downstream、catchup 和回填
  • 使用 Airflow CLI 进行各种操作,并访问方便的备忘单以供快速参考
  • 了解任务、任务实例和了解任务的生命周期
  • 掌握不同的运算符,包括 BashOperator、PostgresOperator、PythonOperator、SqliteOperator 和 EmailOperator
  • 实现 FileSensor、SQLSensor、TimeDeltaSensor 和 TimeSensor 等传感器
  • 使用 BranchSQLOperator、BranchPythonOperator、BranchDayOfWeekOperator、BranchDateTimeOperator 和 ShortCircuitOperator 应用分支逻辑
  • 管理 DAG 依赖项并使用 TaskGroups,利用 TriggerDagRunOperator、ExternalTaskSensor 并使用 PostgresHook 和 SHook 等钩子
  • 使用池和任务优先级管理资源
  • 了解不同类型的执行程序:SequentialExecutor 和 LocalExecutor,并了解从 SequentialExecutor 到 LocalExecutor 的转换
  • 探索 Airflow 元数据数据库和管理角色,并创建具有不同角色(包括管理员、公共、用户和操作员角色)的用户
  • 设置和管理任务级和 DAG 级 SLA,并处理 SLA 未命中
  • 解决僵尸任务、SIGTERM 和 SIGKILL 错误等问题

 要求

  •  Python 知识
  • 剩下我们将涵盖从头开始学习 Airflow
  • 熟悉命令行界面。
  • 了解数据库概念是一个加分项,但不是必需的

 描述

您好,欢迎来到 Apache Airflow 训练营:通过实际示例实践工作流程自动化!

在我的整个职业生涯中,我使用 Apache Airflow 构建和管理了无数工作流,我很高兴与您分享我的知识。

本课程旨在将您从完全的初学者转变为自信的 Apache Airflow 用户。我们将涵盖从安装到高级功能的所有内容,您将通过实际示例和实际项目获得实践经验

课程包括什么?

 Airflow 简介

  • 了解使用 Apache Airflow 的目的和好处。

  • 在您的项目中采用 Airflow 的优缺点。

 Airflow 架构

  • 详细介绍构成 Airflow 的组件。

  • Airflow 中使用的关键术语。

配置和安装

  • 安装 Airflow 的分步指南。

  • airflow.cfg 文件的角色和配置。

 Airflow Web UI 视图

  • 启动和导航 Airflow Web UI。

  •  DAG 视图

  •  网格视图

  •  Graph 视图

  •  日历视图

  •  任务持续时间视图

  •  代码视图

  •  变量视图

  •  甘特图

DAG(有向无环图)

  •  什么是 DAG?

  • 创建 DAG 定义文件。

  • 创建 DAG 的不同方法。

  • 了解 DAG Run、default_arguments 和 DAG 参数。

  • 在 DAG 中使用参数并通过 TriggerDagRunOperator 传递参数。

  • 计划概念包括 depends_on_pastwait_for_downstream追赶和回填。

Airflow CLI 和备忘单

  • 利用 Airflow CLI 进行各种操作。

  • 方便的作弊表,供快速参考。

 Airflow 中的任务

  • 什么是任务和任务实例?

  • 任务的生命周期。

 Airflow 中的运算符

  • 详细探索了包括 BashOperatorPostgresOperatorPythonOperatorSqliteOperator 和 EmailOperator 在内的运算符。

 传感器

  • 使用 FileSensorSQLSensorTimeDeltaSensor 和 TimeSensor 等传感器。

 分支

  • 使用 BranchSQLOperatorBranchPythonOperatorBranchDayOfWeekOperatorBranchDateTimeOperator 和 ShortCircuitOperator 实现分支逻辑。

DAG 依赖项和任务组

  • 管理 DAG 依赖项和使用 TaskGroups

  • 使用 TriggerDagRunOperator 和 ExternalTaskSensor

 

  • 了解和使用 PostgresHook 和 SHook 等钩子。

 资源管理

  • 使用池和任务优先级管理资源。

 Airflow 中的 Executor

  • 不同类型的 executor:SequentialExecutor 和 LocalExecutor

  • 从 SequentialExecutor 转换为 LocalExecutor

Airflow 元数据数据库和角色

  • 了解 Airflow 元数据数据库。

  • 管理角色:创建不同角色的用户,包括 admin、public、user 和 operator 角色。

  • 创建自定义角色并修改现有角色。

SLA(服务等级协议)

  • 设置和管理任务级和 DAG 级 SLA。

  •  处理 SLA 未命中。

 高级概念

  • 使用 XCom 进行任务间通信。

  • 检索上下文参数和使用回调函数。

  • 处理僵尸任务、SIGTERM 和 SIGKILL 错误。

我相信使用 Airflow 掌握工作流程自动化可以在数据工程领域开辟难以置信的机会。我亲眼目睹了它如何改变我们处理数据的方式,我迫不及待地想看看您将利用这些技能取得什么成就。

因此,无论您是想提升自己的职业生涯、开发更高效的数据管道,还是只是对 Airflow 感到好奇,您都来对地方了。让我们一起开始创建一些令人惊叹的工作流程。准备好了吗?让我们开始吧!

祝您取得巨大成功!

本课程适合谁:

  • 数据工程师:负责构建和管理数据管道的数据工程师可以从学习 Apache Airflow 中受益匪浅。
  • 数据科学家:使用大型数据集并执行数据分析的数据科学家可以利用 Apache Airflow 自动执行重复性任务,例如数据预处理、模型训练和评估
  • DevOps 工程师:负责管理和自动化基础设施的 DevOps 工程师可以使用 Apache Airflow 来自动化部署流程、监控系统运行状况并根据预定义条件触发操作
  • 软件开发人员:构建和维护软件应用程序的软件开发人员可以使用 Apache Airflow 自动执行各种任务,例如数据摄取、数据处理和工作流编排
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。