培训对象:数据工程师、平台开发工程师、DevOps人员、需要通过代码定义、调度和监控工作流的团队。
培训目标:
理解Airflow的核心概念(DAG、Operator、Task、Executor)与架构设计。
熟练使用Python编写DAG定义,实现复杂的任务依赖与数据管道。
掌握Airflow的部署、监控与扩展方法,构建企业级的工作流调度平台。
培训内容介绍:
Airflow核心思想:了解Airflow“Configuration as Code”的理念,熟悉其发展历程与生态组件。
架构与组件:深入理解Web Server、Scheduler、Worker、Metastore的角色与交互。
环境安装与配置:使用Docker或本地方式安装Airflow,配置Executor与数据库后端。
第一个DAG:使用Python编写第一个DAG定义,理解default_args、schedule_interval等核心参数。
Operator实战:学习BashOperator、PythonOperator的用法,执行Shell命令和Python函数。
任务依赖定义:使用bitshift运算符(>>、<<)或set_upstream/downstream方法定义任务依赖。
分支与条件逻辑:使用BranchPythonOperator实现动态分支,根据条件选择执行路径。
传感器与外部触发:使用传感器等待外部条件满足(如文件到达、SQL查询完成)。
XComs任务通信:在任务间通过XCom传递小规模数据,实现任务间的数据交换。
连接与Hook:配置数据库、API等外部系统连接,使用Hook简化集成开发。
部署与扩展:将Airflow部署到Celery或Kubernetes Executor,实现分布式任务执行。
监控与告警:配置邮件或钉钉告警,查看任务执行树与甘特图,分析任务瓶颈。