中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊
> >
Apache Airflow 數據編排實戰

包郵 Apache Airflow 數據編排實戰

出版社:清華大學出版社出版時間:2022-11-01
開本: 其他 頁數: 428
中 圖 價:¥80.6(6.3折) 定價  ¥128.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

Apache Airflow 數據編排實戰 版權信息

Apache Airflow 數據編排實戰 本書特色

《Apache Airflow 數據編排實戰》通過4部分深入淺出地介紹了什么是Airflow,如何部署和使用Airflow, 并涉及許多深入的主題,讓你對Airflow 能夠有全面的了解,并且在本書的第I部分,為大家提供了許多實用的案例,讓你能夠快速使用Airflow解決工作中遇到的各種數據流處理問題,F在是云的時代,在本書的第IV部分介紹了大量的上云示例,讓你能夠輕松地使用Airflow管理各種本地、云端或者二者混合在- -起的數據流。 隨書贈送示例源代碼和網上資源,獲取地址見書前言或封底二維碼。 “從新手到專家,本書適合所有類型的讀者,堪稱一本Airflow的經典!薄猂ambabu Posa Sai AAshika Consultancy“對于打算使用Airflow編排數據管道作業的人來說,通過本書將輕松掌握所有知識!薄狣aniel Lamblin, Coupang “毫無疑問,這是一本使用Apache Airflow創建、編寫、調度和監控工作流的絕佳參考書”——Thorsten Weber, bbv Software Services AG “迄今為止,關于Airflow的*佳資源!薄狫onathan Wood, LexisNexis “切中要害”——Gino 本書是那種閱讀了前兩章,就能很好掌握基礎知識的書,書后面的部分基本上是建立在前面所學的基礎上,重要的說明通過不多的篇幅就介紹清楚了。這是迄今為止我讀過的*好的框架/工作流工具手冊之一。 “很好的學習資源”——AQ 剛剛讀完第7章,我對書中大量的細節和解釋印象深刻。盡管這本書是為了介紹Airflow,但作者還是解釋了一些關鍵概念,即在Airflow的編排能力之外,數據管道可能是什么樣子。我很感激能讀到這本書,并將一直將之作為參考書。 “易于閱讀,尤其將交互工作解釋得很好”——Shannon 與Airflow官方文檔相比,該書易于閱讀,提供了很好的解釋和示例。 “Airflow好書”——Chris Novitsky 我讀過很多計算機方面的書,這本書能排在前五。書寫得很好,充滿了專業知識。 “Airflow*佳指南!”——CWC_NY 本書是Airflow*佳指南,涵蓋基礎和高級主題,例如如何測試DAG和容器中的運行任務。強烈推薦! “真是太棒了!”——Sergiy Tsimbalyuk 很棒的書,提供了很多實例和解析。我絕對推薦你去閱讀! 隨書贈送示例源代碼,獲取地址見書前言或封底二維碼。

Apache Airflow 數據編排實戰 內容簡介

數據管道通過整合、清理、分析、可視化等方式來管理初始收集的數據流。Apache Airflow提供了一個統一的平臺,可以使用它設計、實施、監控和維護數據的流動。Airflow具有易于使用的UI、即插即用的選項以及靈活的Python腳本,這些都使Airflow能夠非常輕松地完成任何數據管理任務。     在《Apache Airflow 數據編排實戰》中,介紹了如何構建和維護有效的數據管道。與你一同探索*常見的使用模式,包括聚合多個數據源、連接到數據湖以及云端部署?梢詫⒈緯鳛锳irflow的實用指南,本書涵蓋了為Airflow提供動力的有向無環圖(DAG)的各方面知識,以及如何根據工作需求對其進行自定義的技術。 主要內容 ● 構建、測試及部署Airflow管道作為DAG ● 自動對數據進行移動和轉換 ● 使用回填技術分析歷史數據集 ● 開發自定義組件 ● 在生產環境中搭建Airflow

Apache 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

展開全部

Apache Airflow 數據編排實戰 作者簡介

Bas Harenslak和Julian de Ruiter是數據工程師,他們在為大公司開發數據管道方面擁有豐富的經驗。同時,Bas也是一位Airflow的提交者。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
編輯推薦
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 硅PU球场、篮球场地面施工「水性、环保、弹性」硅PU材料生产厂家-广东中星体育公司 | 镀锌方管,无缝方管,伸缩套管,方矩管_山东重鑫致胜金属制品有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 托利多电子平台秤-高精度接线盒-托利多高精度电子秤|百科 | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 广州活动策划公司-15+年专业大型公关活动策划执行管理经验-睿阳广告 | 乙炔气体报警装置|固定式氯化氢检测仪|河南驰诚电气百科 | 三板富 | 专注于新三板的第一垂直服务平台 | 不锈钢轴流风机,不锈钢电机-许昌光维防爆电机有限公司(原许昌光维特种电机技术有限公司) | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 喷播机厂家_二手喷播机租赁_水泥浆洒布机-河南青山绿水机电设备有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 球磨机,节能球磨机价格,水泥球磨机厂家,粉煤灰球磨机-吉宏机械制造有限公司 | 睿婕轻钢别墅_钢结构别墅_厂家设计施工报价 | 泰兴市热钻机械有限公司-热熔钻孔机-数控热熔钻-热熔钻孔攻牙一体机 | 蜘蛛车-高空作业平台-升降机-高空作业车租赁-臂式伸缩臂叉装车-登高车出租厂家 - 普雷斯特机械设备(北京)有限公司 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 拉卡拉POS机官网 - 官方直营POS机办理|在线免费领取 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 杜康白酒加盟_杜康酒代理_杜康酒招商加盟官网_杜康酒厂加盟总代理—杜康酒神全国运营中心 | 化工ERP软件_化工新材料ERP系统_化工新材料MES软件_MES系统-广东顺景软件科技有限公司 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 企业VI设计_LOGO设计公司_品牌商标设计_【北京美研】 | 充气膜专家-气膜馆-PTFE膜结构-ETFE膜结构-商业街膜结构-奥克金鼎 | 高低温试验房-深圳高低温湿热箱-小型高低温冲击试验箱-爱佩试验设备 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 |