登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書

『簡體書』Apache Airflow 数据编排实战

書城自編碼: 3815036
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: [荷]巴斯·哈伦斯拉克[Bas Harenslak],朱利安
國際書號(ISBN): 9787302618157
出版社: 清华大学出版社
出版日期: 2022-11-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 160.0

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
家书中的百年史
《 家书中的百年史 》

售價:HK$ 79.4
偏爱月亮
《 偏爱月亮 》

售價:HK$ 45.8
生物安全与环境
《 生物安全与环境 》

售價:HK$ 56.4
泥土:文明的侵蚀(城市与生态文明丛书)
《 泥土:文明的侵蚀(城市与生态文明丛书) 》

售價:HK$ 84.0
医用化学(第三版)
《 医用化学(第三版) 》

售價:HK$ 57.3
别怕,试一试
《 别怕,试一试 》

售價:HK$ 67.9
人才基因(凝聚30年人才培育经验与智慧)
《 人才基因(凝聚30年人才培育经验与智慧) 》

售價:HK$ 103.4
深度学习详解
《 深度学习详解 》

售價:HK$ 114.8

 

建議一齊購買:

+

HK$ 98.8
《软件平台架构设计与技术管理之道》
+

HK$ 173.8
《Python数据科学项目实战》
+

HK$ 122.5
《Go编程进阶实战:开发命令行应用、HTTP应用和gRPC应用》
+

HK$ 122.5
《趣味微项目,轻松学Python》
+

HK$ 122.5
《快捷学习Spring》
+

HK$ 111.3
《高级C/C++编译技术(典藏版)》
編輯推薦:
《Apache Airflow 数据编排实战》通过4部分深入浅出地介绍了什么是Airflow,如
何部署和使用Airflow, 并涉及许多深入的主题,让你对Airflow 能够有全面的了解,并
且在本书的第I部分,为大家提供了许多实用的案例,让你能够快速使用Airflow解决
工作中遇到的各种数据流处理问题。现在是云的时代,在本书的第IV部分介绍了大量的
上云示例,让你能够轻松地使用Airflow管理各种本地、云端或者二者混合在- -起的数
据流。
內容簡介:
数据管道通过整合、清理、分析、可视化等方式来管理初始收集的数据流。Apache Airflow提供了一个统一的平台,可以使用它设计、实施、监控和维护数据的流动。Airflow具有易于使用的UI、即插即用的选项以及灵活的Python脚本,这些都使Airflow能够非常轻松地完成任何数据管理任务。   在《Apache Airflow 数据编排实战》中,介绍了如何构建和维护有效的数据管道。与你一同探索最常见的使用模式,包括聚合多个数据源、连接到数据湖以及云端部署。可以将本书作为Airflow的实用指南,本书涵盖了为Airflow提供动力的有向无环图(DAG)的各方面知识,以及如何根据工作需求对其进行自定义的技术。 主要内容 ● 构建、测试及部署Airflow管道作为DAG ● 自动对数据进行移动和转换 ● 使用回填技术分析历史数据集 ● 开发自定义组件 ● 在生产环境中搭建Airflow
關於作者:
Bas Harenslak和Julian de Ruiter是数据工程师,他们在为大公司开发数据管道方面拥有丰富的经验。同时,Bas也是一位Airflow的提交者。
目錄
第Ⅰ部分 入门
第1章 遇见Apache Airflow 3
1.1 数据管道介绍 3
1.1.1 数据管道的图形表示 4
1.1.2 运行管道图 5
1.1.3 管道图与顺序脚本 6
1.1.4 使用工作流管理器运行数据流 8
1.2 Airflow介绍 9
1.2.1 通过Python代码灵活定义数据管道 9
1.2.2 调度并执行数据管道 10
1.2.3 监控和处理故障 11
1.2.4 增量载入和回填 14
1.3 何时使用Airflow 14
1.3.1 选择Airflow的原因 14
1.3.2 不使用Airflow的理由 15
1.4 本书的其余部分 15
1.5 本章小结 16
第2章 Airflow DAG深度解析 17
2.1 从大量数据源中收集数据 17
2.2 编写你的第一个Airflow DAG 19
2.2.1 任务与operator 22
2.2.2 运行任意Python代码 23
2.3 在Airflow中运行DAG 25
2.3.1 在Python环境中运行Airflow 25
2.3.2 在Docker容器中运行Airflow 26
2.3.3 使用Airflow图形界面 27
2.4 运行定时任务 31
2.5 处理失败的任务 32
2.6 本章小结 34
第3章 Airflow中的调度 35
3.1 示例:处理用户事件 35
3.2 定期执行DAG 37
3.2.1 使用调度器计划性运行 37
3.2.2 基于cron的时间间隔 38
3.2.3 基于频率的时间间隔 40
3.3 增量处理数据 40
3.3.1 获取增量事件数据 40
3.3.2 使用执行日期的动态时间参考 42
3.3.3 对数据执行分区 43
3.4 理解Airflow的执行日期 45
3.5 使用回填技术填补过去的空白 47
3.6 任务设计的最佳实践 49
3.6.1 原子性 49
3.6.2 幂等性 51
3.7 本章小结 52
第4章 使用Airflow context对任务进行模板化 53
4.1 为Airflow准备数据 53
4.2 任务context和Jinja模板 55
4.2.1 对operator使用参数模板 56
4.2.2 模板中可用的变量及表达式 57
4.2.3 对PythonOperator使用模板 60
4.2.4 为PythonOperator提供变量 64
4.2.5 检查模板化参数 66
4.3 连接到其他系统 67
4.4 本章小结 74
第5章 定义任务之间的依赖关系 75
5.1 基本依赖关系 75
5.1.1 线性依赖关系 75
5.1.2 扇入/扇出依赖 77
5.2 分支 79
5.2.1 在任务内部执行分支操作 79
5.2.2 在DAG中使用分支技术 81
5.3 带有条件的任务 85
5.3.1 在任务内部使用条件 85
5.3.2 对DAG使用条件 86
5.3.3 使用内置operator 88
5.4 触发条件详解 88
5.4.1 什么是触发规则 88
5.4.2 失败的影响 89
5.4.3 其他触发规则 90
5.5 在任务之间共享数据 91
5.5.1 使用XCom共享数据 91
5.5.2 XCom的适用场景 94
5.5.3 使用自定义XCom后端存储 95
5.6 使用Taskflow API连接Python任务 95
5.6.1 使用Taskflow API简化Python任务 96
5.6.2 Taskflow API的适用场景 98
5.7 本章小结 99
第Ⅱ部分 Airflow深入学习
第6章 触发工作流 103
6.1 带有传感器的轮询条件 103
6.1.1 轮询自定义条件 106
6.1.2 传感器的异常情况 107
6.2 触发其他DAG 110
6.2.1 使用TriggerDagRunOperator执行回填操作 114
6.2.2 轮询其他 DAG 的状态 114
6.3 使用REST/CLI启动工作流 117
6.4 本章小结 120
第7章 与外部系统通信 121
7.1 连接到云服务 122
7.1.1 安装额外的依赖软件包 122
7.1.2 开发一个机器学习模型 123
7.1.3 在本地开发外部系统程序 128
7.2 在系统之间移动数据 134
7.2.1 实现PostgresToS3Operator 136
7.2.2 将繁重的任务“外包”出去 139
7.3 本章小结 141
第8章 创建自定义组件 143
8.1 从PythonOperator开始 143
8.1.1 模拟电影评分API 144
8.1.2 从API获取评分数据 146
8.1.3 构建具体的DAG 149
8.2 创建自定义hook 151
8.2.1 设定自定义hook 151
8.2.2 使用MovielensHook构建DAG 156
8.3 构建自定义operator 158
8.3.1 创建自定义operator 158
8.3.2 创建用于获取评分数据的operator 159
8.4 创建自定义传感器 162
8.5 将你的组件打包 165
8.5.1 引导Python包 166
8.5.2 安装你的Python包 168
8.6 本章小结 169
第9章 测试 171
9.1 开始测试 171
9.1.1 所有DAG的完整性测试 172
9.1.2 设置CI/CD管道 177
9.1.3 编写单元测试 179
9.1.4 pytest项目结构 180
9.1.5 使用磁盘上的文件测试 184
9.2 在测试中使用DAG和任务context 186
9.3 使用测试进行开发 198
9.4 使用Whirl模拟生产环境 201
9.5 创建DTAP环境 201
9.6 本章小结 201
第10章 在容器中运行任务 203
10.1 同时使用多个不同operator
所面临的挑战 203
10.1.1 operator接口和实现 204
10.1.2 复杂且相互冲突的依赖关系 204
10.1.3 转向通用operator 205
10.2 容器 205
10.2.1 什么是容器 206
10.2.2 运行第一个Docker容器 207
10.2.3 创建Docker映像 207
10.2.4 使用卷持久化数据 209
10.3 容器与Airflow 212
10.3.1 容器中的任务 212
10.3.2 为什么使用容器 212
10.4 在Docker中运行任务 213
10.4.1 使用DockerOperator 213
10.4.2 为任务创建容器映像 215
10.4.3 使用Docker任务创建DAG 218
10.4.4 基于Docker的工作流 220
10.5 在Kubernetes中运行任务 221
10.5.1 Kubernetes介绍 221
10.5.2 设置Kubernetes 222
10.5.3 使用KubernetesPodOperator 225
10.5.4 诊断Kubernetes相关的问题 228
10.5.5 与基于docker的工作流的区别 230
10.6 本章小结 231
第Ⅲ部分 Airflow实践
第11章 最佳实现 235
11.1 编写清晰的DAG 235
11.1.1 使用风格约定 235
11.1.2 集中管理凭证 239
11.1.3 统一指定配置详细信息 240
11.1.4 避免在DAG定义中计算 242
11.1.5 使用工厂函数生成通用模式 244
11.1.6 使用任务组对相关任务进行分组 247
11.1.7 为重大变更创建新的DAG 248
11.2 设计可重用的任务 249
11.2.1 要求任务始终满足幂等性 249
11.2.2 任务结果的确定性 249
11.2.3 使用函数式范式设计任务 250
11.3 高效处理数据 250
11.3.1 限制处理的数据量 250
11.3.2 增量载入与增量处理 252
11.3.3 缓存中间数据 252
11.3.4 不要将数据存储在本地文件系统 253
11.3.5 将工作卸载到外部系统或源系统 253
11.4 管理资源 254
11.4.1 使用资源池管理并发 254
11.4.2 使用SLA和告警来检测长时间运行的任务 255
11.5 本章小结 256
第12章 在生产环境中使用Airflow 257
12.1 Airflow架构 258
12.1.1 挑选适合的执行器 259
12.1.2 为Airflow配置metastore 259
12.1.3 深入了解调度器 261
12.2 安装每个执行器 265
12.2.1 设置SequentialExecutor 266
12.2.2 设置LocalExecutor 266
12.2.3 设置CeleryExecutor 267
12.2.4 设置KubernetesExecutor 269
12.3 捕获所有Airflow进程的日志 276
12.3.1 捕获Web服务器输出 276
12.3.2 捕获调度器输出 277
12.3.3 捕获任务日志 278
12.3.4 将日志发送到远程存储 278
12.4 可视化及监控Airflow指标 279
12.4.1 从Airflow收集指标 279
12.4.2 配置Airflow以发送指标 280
12.4.3 配置Prometheus以收集指标 281
12.4.4 使用Grafana创建仪表板 283
12.4.5 应监控的指标 285
12.5 如何获得失败任务的通知 287
12.5.1 DAG和operator内的告警 287
12.5.2 定义服务级别协议(SLA) 289
12.6 可伸缩性与性能 290
12.6.1 控制最大运行任务数 290
12.6.2 系统性能配置 292
12.6.3 运行多个调度器 292
12.7 本章小结 293
第13章 Airflow安全性 295
13.1 保护Airflow Web界面 296
13.1.1 将用户添加到RBAC界面 296
13.1.2 配置RBAC界面 299
13.2 加密静态数据 300
13.3 连接LDAP服务 301
13.3.1 理解LDAP 302
13.3.2 从LDAP服务获取用户 304
13.4 加密与Web服务器的通信 305
13.4.1 了解HTTPS 305
13.4.2 为HTTPS配置证书 307
13.5 从认证管理系统获取凭证 311
13.6 本章小结 314
第14章 实战:探索游览纽约市的最快方式 315
14.1 理解数据 318
14.1.1 Yellow Cab文件共享 318
14.1.2 Citi Bike REST API 319
14.1.3 确定算法 320
14.2 提取数据 320
14.2.1 下载Citi Bike数据 321
14.2.2 下载Yellow Cab数据 323
14.3 对数据应用类似的转换 325
14.4 构建数据管道 330
14.5 开发幂等的数据管道 331
14.6 本章小结 333
第Ⅳ部分 在云端
第15章 Airflow在云端 337
15.1 设计云端部署策略 337
15.2 云端专用的hook和operator 339
15.3 托管服务 340
15.3.1 Astronomer.io 340
15.3.2 Google Cloud Composer 340
15.3.3 适用于Apache Airflow的
Amazon托管工作流 341
15.4 选择部署策略 342
15.5 本章小结 342
第16章 在AWS中运行Airflow 345
16.1 在AWS中部署Airflow 345
16.1.1 选择云服务 345
16.1.2 设计网络 347
16.1.3 添加DAG同步 347
16.1.4 使用CeleryExecutor扩展 348
16.1.5 后续步骤 349
16.2 针对AWS的hook和operator 350
16.3 用例:使用AWS Athena进行无服务器的电影排名 351
16.3.1 用例概要 352
16.3.2 设置资源 352
16.3.3 创建DAG 355
16.3.4 环境清理 360
16.4 本章小结 361
第17章 在Azure中使用Airflow 363
17.1 在Azure中部署Airflow 363
17.1.1 选择服务 363
17.1.2 设计网络 364
17.1.3 使用CeleryExecutor扩展 365
17.1.4 后续步骤 366
17.2 针对Azure设计的hook和operator 367
17.3 示例:在Azure上运行无服务器的电影推荐程序 367
17.3.1 示例概要 368
17.3.2 设定资源 368
17.3.3 创建DAG 372
17.3.4 环境清理 377
17.4 本章小结 378
第18章 在GCP中运行Airflow 379
18.1 在GCP中部署Airflow 379
18.1.1 选择服务 379
18.1.2 使用Helm在GKE上
部署Airflow 381
18.1.3 与Google服务集成 383
18.1.4 设计网络 385
18.1.5 通过CeleryExecutor扩展 386
18.2 针对GCP的hook和operator 388
18.3 用例:在GCP上运行无服务器的电影评级 392
18.3.1 上传到GCS 392
18.3.2 将数据导入BigQuery 394
18.3.3 提取最高评分 396
18.4 本章小结 399
附录A 运行示例代码 401
附录B Airflow 1和Airflow 2中的包结构 405
附录C Prometheus指标映射 409
內容試閱
我们都很幸运能在这个有趣而富有挑战性的时代成为数据工程师。无论怎样,许多公司和组织都意识到,数据在管理企业和改善运营方面发挥着关键作用。机器学习和人工智能的迅速发展为我们提供了大量新的机遇。然而,采用以数据为中心的流程通常非常困难,因为它通常需要协调跨许多异构系统工作,并将所有工作以一种稳定、及时的方式捆绑在一起,以便进行后续分析或产品部署。
2014年,Airbnb的工程师们意识到在公司内部管理复杂数据工作流是一件非常具有挑战的事情。为了应对这种挑战,他们开发了Airflow:一个开源的解决方案,允许他们编写和安排工作流,并使用内置的Web界面监控工作流运行。
Airflow项目的成功很快引起了Apache软件基金会的注意,并在2016年将其作为孵化器项目,在2019年将其作为顶级项目。因此,现在许多大公司都依赖Airflow来协调许多关键的数据处理任务。
作为GoDataDriven的技术顾问,我们已经帮助许多客户将Airflow作为项目的关键组件应用在生产系统中,这些项目涉及数据湖、数据平台、机器学习模型等的应用场景。在这个过程中,我们意识到交付这些解决方案可能具有很大的挑战性,因为像Airflow这样复杂的工具很难在短时间内掌握。为此,我们还在GoDataDriven开发了一个Airflow培训项目,并经常组织和参加会议,分享我们的知识、观点,以及一些开源软件包。在我们探索Airflow的过程中,不断发现它的复杂性,并且通过阅读文档来完全掌握Airflow并不是一件容易的事情。
在《Apache Airflow数据编排实战》中,我们旨在全面介绍Airflow,涵盖从构建简单工作流到开发定制组件,以及设计并管理Airflow部署的所有内容。我们打算用一种简洁、易于遵循的格式,将多个主题集中在一起,从而对许多优秀的博客及其他在线文档进行补充。在此过程中,我们希望能够通过在过去几年中积累的经验,为你成功开启Airflow的探索之旅。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.