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_past、wait_for_downstream、追赶和回填。
Airflow CLI 和备忘单
-
利用 Airflow CLI 进行各种操作。
-
方便的作弊表,供快速参考。
Airflow 中的任务
-
什么是任务和任务实例?
-
任务的生命周期。
Airflow 中的运算符
-
详细探索了包括 BashOperator、PostgresOperator、PythonOperator、SqliteOperator 和 EmailOperator 在内的运算符。
传感器
-
使用 FileSensor、SQLSensor、TimeDeltaSensor 和 TimeSensor 等传感器。
分支
-
使用 BranchSQLOperator、BranchPythonOperator、BranchDayOfWeekOperator、BranchDateTimeOperator 和 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 自动执行各种任务,例如数据摄取、数据处理和工作流编排
评论(0)