-
内容大纲
本书由浅入深地介绍了如何快速搭建Airflow集群,包括不同操作系统的快速搭建方法、Airflow的安装方法、Airflow集群的部署方法、Airflow中的核心概念和其他重要概念、Airflow的架构和组件、Airflow的系统管理、实践经验以及其他常见的调度系统。附录提供了Docker和Kubernetes的简介。此外,本书还提供了在生产环境中使用Airflow的诸多实践与经验,无论是对研发工程师创建工作流、排查工作流问题,还是对运维工程师维护集群运转、优化集群性能,都有极其重要的借鉴价值。
本书图文并茂,理论翔实,示例丰富,适合正在使用或者即将使用Airflow作为调度系统的研发工程师、Airflow平台的运维工程师以及对Airflow感兴趣的读者阅读。 -
作者介绍
-
目录
第1章 快速搭建Airflow集群
1.1 准备工作
1.1.1 安装kubectl
1.1.2 安装Docker和kind
1.1.3 安装Helm
1.2 创建Kubernetes集群
1.3 使用Helm部署Airflow集群
1.4 运行示例
1.5 本章小结
第2章 安装Airflow
2.1 在非容器化环境中基于PyPI安装Airflow
2.1.1 准备工作
2.1.2 安装Airflow
2.1.3 升级Airflow
2.2 在容器化环境中扩展Airflow官方的镜像
2.3 本章小结
第3章 部署Airflow集群
3.1 在非容器化生产环境中部署Airflow
3.1.1 基于Celery Executor的部署
3.1.2 基于Dask Executor的部署
3.2 在容器化生产环境中部署Airflow
3.2.1 基于Celery Executor的部署
3.2.2 基于Kubernetes Executor的部署
3.2.3 基于CeleryKubernetes Executor的部署
3.3 本章小结
第4章 DAG相关概念
4.1 DAG简介
4.1.1 构造DAG
4.1.2 加载DAG
4.1.3 运行DAG
4.2 Task
4.2.1 Task的类型
4.2.2 TaskGroup
4.2.3 Task的超时处理
4.3 DAG Run和Task Instance
4.4 本章小结
第5章 其他概念
5.1 XCom
5.1.1 XCom的使用场景
5.1.2 如何使用XCom
5.2 Variable
5.2.1 通过Webserver UI配置Variable
5.2.2 通过环境变量配置Variable
5.2.3 通过其他方式配置Variable
5.3 Connection和Hook
5.3.1 基本概念
5.3.2 Connection的配置
5.3.3 Connection和Hook的使用
5.3.4 SSHHook源代码分析
5.4 Pool
5.4.1 Pool的设置
5.4.2 Pool的使用
5.5 Priority Weight
5.6 Cluster Policy
5.6.1 Cluster Policy的使用场景和类型
5.6.2 具体示例
5.7 Deferrable Operator和Trigger
5.7.1 使用Deferrable Operator和Trigger
5.7.2 从源代码分析Deferrable Operator和Trigger
5.8 本章小结
第6章 架构和组件
6.1 架构
6.2 Scheduler
6.2.1 解析DAG文件
6.2.2 调度DAG和Task
6.2.3 运行Task Instance
6.3 Webserver
6.3.1 UI
6.3.2 REST API
6.4 Triggerer
6.5 本章小结
第7章 系统管理
7.1 配置
7.1.1 如何管理配置
7.1.2 特殊的配置
7.1.3 配置的优先级
7.2 安全
7.2.1 访问控制
7.2.2 API认证
7.2.3 Webserver UI安全
7.2.4 数据安全
7.3 日志和监控
7.3.1 日志和监控的架构
7.3.2 日志
7.3.3 监控
7.4 插件
7.4.1 插件的安装和加载
7.4.2 如何实现插件
7.5 模块管理
7.5.1 如何添加Python模块
7.5.2 如何排查问题
7.6 CLI
7.6.1 全部命令
7.6.2 自动补齐
7.7 时区
7.7.1 datetime对象与时区
7.7.2 Airflow是如何处理时区的
7.7.3 Webserver UI的时区显示
7.8 本章小结
第8章 Airflow集群实践
8.1 Executor调优
8.1.1 Celery Executor调优
8.1.2 Kubernetes Executor调优
8.1.3 Dask Executor调优
8.2 高可用
8.2.1 高可用的Scheduler
8.2.2 高可用的Webserver
8.2.3 高可用的Triggerer
8.3 鲁棒的数据库访问
8.3.1 PostgreSQL优化
8.3.2 MySQL优化
8.3.3 数据库通用优化
8.4 简化DAG文件发布和解析
8.4.1 简化DAG文件发布
8.4.2 通过配置控制DAG文件解析的行为
8.5 用插件扩展集群的能力
8.5.1 编写插件
8.5.2 安装插件
8.5.3 测试插件
8.6 加强REST API的能力
8.7 其他
8.7.1 让集群更安全
8.7.2 监控必不可少
8.7.3 为DAG和Task添加说明文档
8.7.4 配置邮件通知
8.7.5 控制调度的并发度
8.8 本章小结
第9章 Airflow的新功能
9.1 Airflow 2.3版本的新功能
9.1.1 动态Task映射
9.1.2 网格视图
9.1.3 其他功能
9.2 Airflow 2.4版本的新功能
9.2.1 数据感知调度
9.2.2 其他功能
9.3 Airflow 2.5版本的新功能
9.4 本章小结
第10章 其他调度系统
10.1 DolphinScheduler
10.1.1 DolphinScheduler的架构
10.1.2 DolphinScheduler的特点和优势
10.1.3 DolphinScheduler与Airflow的对比
10.2 AWS Step Functions
10.2.1 AWS Step Functions的特点和优势
10.2.2 AWS Step Functions与Airflow的对比
10.3 Google Workflows
10.3.1 Google Workflows的特点和优势
10.3.2 Google Workflows与Airflow的对比
10.4 Azkaban
10.4.1 Azkaban的特点和优势
10.4.2 Azkaban与Airflow的对比
10.5 Kubeflow
10.5.1 Kubeflow的特点和优势
10.5.2 Kubeflow与Airflow的对比
10.6 本章小结
附录A Docker简介
附录B Kubernetes简介
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...