企業大數據處理實戰派——基於阿裡雲大數據平臺

趙渝強

  • 出版商: 電子工業
  • 出版日期: 2023-09-01
  • 售價: $768
  • 貴賓價: 9.5$730
  • 語言: 簡體中文
  • 頁數: 452
  • ISBN: 7121460769
  • ISBN-13: 9787121460760
  • 相關分類: 大數據 Big-data
  • 立即出貨

商品描述

本書基於作者多年的教學與實踐經驗編寫,重點介紹阿裡雲大數據體系的核心原理與架構,內容涉及開發、運維、管理與架構。全書分為4 篇,共13 章:第1 篇(第1~2 章)介紹大數據技術基礎;第2 篇(第3~8 章)介紹阿裡雲大數據的離線計算服務;第3 篇(第9~10 章)介紹阿裡雲大數據的實時計算服務,包括消息隊列Kafka 版和實時計算Flink 版;第4 篇(第11~13 章)介紹阿裡雲大數據增值服務——數加平臺,包括阿裡雲大數據集成開發平臺DataWorks、數據可視化分析平臺Quick BI 和機器學習平臺PAI。本書適合對大數據技術感興趣的平臺架構師、運維管理人員和項目開發人員閱讀。無論讀者是否接觸過大數據技術,只要具備基礎的Linux 知識和Java 基礎,就能夠通過本書快速掌握阿裡雲大數據技術並增加實戰經驗。根據本書中的操作步驟,讀者可以在實際的項目生產環境中快速應用並實施阿裡雲大數據平臺技術。

目錄大綱

★★第1 篇 大數據技術基礎

★第1 章 大數據核心理論基礎與架構 2
1.1 什麽是大數據 2
1.1.1 大數據的基本概念和特性 2
1.1.2 大數據平臺的核心問題——存儲與計算 4
1.2 大數據的理論基礎 6
1.2.1 大數據的分佈式存儲 6
1.2.2 大數據的分佈式計算 9
1.3 大數據技術與數據倉庫 . 12
1.3.1 什麽是數據倉庫/12
1.3.2 基於大數據技術實現的數據倉庫 13
1.4 基於開源大數據組件的大數據平臺架構 15
1.4.1 數據源層 16
1.4.2 數據採集層 16
1.4.3 大數據平臺層 16
1.4.4 數據倉庫層 17
1.4.5 應用層 17
1.5 自建大數據平臺與租賃大數據平臺 17
1.5.1 為什麽推薦使用租賃的大數據平臺 17
1.5.2 為什麽選擇阿裡雲大數據平臺 18
1.6 阿裡雲大數據生態圈體系/18
1.6.1 阿裡雲大數據基礎組件 . 19
1.6.2 基於阿裡雲大數據基礎組件的數加平臺 24

★★第2 章 阿裡雲大數據技術基礎——開源大數據技術生態圈 27
2.1 開源大數據技術生態圈簡介 27
2.1.1 面向離線數據的存儲計算引擎Hadoop 生態圈體系及其組件 27
2.1.2 面向批處理的大數據計算引擎Spark 生態圈體系及其組件 29
2.1.3 面向流處理的大數據計算引擎Flink 生態圈體系及其組件 . 30
2.2 面向離線數據的存儲計算引擎Hadoop 快速上手 32
2.2.1 【實戰】部署Hadoop 集群 33
2.2.2 【實戰】使用Hadoop 文件系統HDFS 存儲數據 38
2.2.3 【實戰】使用Hadoop 離線計算引擎MapReduce 處理數據 46
2.3 面向批處理的大數據計算引擎Spark 快速上手 49
2.3.1 【實戰】部署Spark 集群 49
2.3.2 【實戰】執行Spark 離線計算任務 51
2.3.3 【實戰】執行Spark 實時計算任務 57
2.3.4 【實戰】使用Spark SQL 處理結構化數據 . 60
2.4 面向流處理的大數據計算引擎Flink 快速上手 . 61
2.4.1 【實戰】部署Flink 集群/62
2.4.2 【實戰】執行Flink 離線計算任務 63
2.4.3 【實戰】執行Flink 實時計算任務 64
2.4.4 【實戰】使用Flink SQL 處理結構化數據 66
2.5 大數據體系的單點故障問題 66
★★第2 篇 阿裡雲大數據的離線計算服務

★第3 章 面向離線數據存儲與計算的MaxCompute 基礎 . 70
3.1 MaxCompute 簡介 70
3.1.1 什麽是MaxCompute 70
3.1.2 MaxCompute 的特點 71
3.2 初識MaxCompute 71
3.2.1 MaxCompute 的架構 71
3.2.2 MaxCompute 的核心概念 74
3.2.3 MaxCompute 的數據類型 76
3.3 使用MaxCompute 的準備工作 78
3.3.1 【實戰】創建阿裡雲賬號 79
3.3.2 【實戰】開通MaxCompute 服務 . 82
3.3.3 【實戰】創建項目 83
3.3.4 配置MaxCompute 客戶端/85
3.4 MaxCompute 快速上手 93
3.4.1 【實戰】使用命令行客戶端 93
3.4.2 【實戰】執行MapReduce 任務 99
3.4.3 【實戰】執行Spark 任務 101
3.5 基於Tunnel 的數據上傳與下載/102
3.5.1 Tunnel 簡介 102
3.5.2 【實戰】使用Tunnel 的命令行工具 103
3.5.3 【實戰】使用Tunnel 的SDK/107

★第4 章 處理結構化數據——基於MaxCompute SQL 112
4.1 MaxCompute SQL 簡介 112
4.1.1 MaxCompute SQL 與其他SQL 的差異/112
4.1.2 MaxCompute SQL 的數據類型 114
4.1.3 MaxCompute SQL 的數據類型轉換 115
4.2 使用MaxCompute SQL 119
4.2.1 【實戰】使用DDL 語句 119
4.2.2 【實戰】使用DML 語句 135
4.2.3 【實戰】使用DQL 語句 140
4.2.4 【實戰】使用MaxCompute SQL 的增強語法CTE 143
4.3 使用MaxCompute SQL 的內建函數 145
4.3.1 【實戰】日期函數 . 145
4.3.2 【實戰】窗口函數 . 148
4.3.3 【實戰】聚合函數 . 152
4.3.4 【實戰】條件判斷函數/152
4.3.5 數學函數和字符串函數 154
4.4 在MaxCompute 中自定義SQL 155
4.4.1 【實戰】UDF . 155
4.4.2 【實戰】UDT . 157
4.4.3 UDJ . 158

★第5 章 處理離線數據——基於MaxCompute MapReduce/159
5.1 MaxCompute MapReduce 簡介 159
5.1.1 MaxCompute MapReduce 的處理流程/159
5.1.2 MaxCompute MapReduce 的使用限制/160
5.2 開發WordCount 單詞計數程序/161
5.2.1 WordCount 數據處理的流程/162
5.2.2 MaxCompute MapReduce 的編程接口/163
5.2.3 【實戰】開發WordCount 程序 166
5.3 MaxCompute MapReduce 的高級特性 169
5.3.1 【實戰】實現數據排序/170
5.3.2 【實戰】實現數據二次排序/173
5.3.3 【實戰】使用過濾模式MapOnly . 177
5.3.4 【實戰】使用Join 實現多表連接 . 179
5.3.5 【實戰】使用計數器Counter/183
5.3.6 【實戰】使用Unique 實現數據去重 187
5.3.7 【實戰】使用項目空間資源/193

★第6 章 處理離線數據——基於MaxCompute Spark/196
6.1 MaxCompute Spark 基礎 . 196
6.1.1 MaxCompute Spark 的系統結構 . 196
6.1.2 MaxCompute Spark 的使用限制 . 197
6.1.3 使用spark-shell 198
6.2 MaxCompute Spark 的核心數據模型RDD 199
6.2.1 什麽是RDD 200
6.2.2 熟悉RDD 的算子 202
6.2.3 【實戰】RDD 的緩存機制 209
6.2.4 【實戰】RDD 的檢查點機制 211
6.2.5 RDD 的依賴關系和任務執行的階段 212
6.3 在MaxCompute Spark 中使用SQL 處理數據 214
6.3.1 Spark SQL 的特點/214
6.3.2 Spark SQL 的數據模型/215
6.3.3 【實戰】創建DataFrame 215
6.3.4 【實戰】使用DataFrame 處理數據 218
6.3.5 【實戰】創建視圖 . 220
6.4 【實戰】MaxCompute Spark 開發案例 . 222
6.4.1 開發Java 版本的單詞計數程序WordCount 222
6.4.2 開發Scala 版本的單詞計數程序WordCount/224
6.5 診斷MaxCompute Spark 作業 225
6.5.1 使用Logview 工具診斷作業 226
6.5.2 使用Spark Web UI 診斷作業 227

★第7 章 處理圖數據——基於MaxCompute Graph 229
7.1 MaxCompute Graph 基礎/229
7.1.1 MaxCompute Graph 的基本概念 230
7.1.2 MaxCompute Graph 的數據結構 . 230
7.1.3 MaxCompute Graph 的程序邏輯 . 231
7.1.4 MaxCompute Graph 的Aggregator 機制/233
7.1.5 MaxCompute Graph 的使用限制 . 236
7.2 使用MaxCompute Graph 計算單源最短距離 . 236
7.2.1 單源最短距離算法簡介 236
7.2.2 【實戰】開發並運行單源最短距離算法程序 239

★第8 章 MaxCompute 的權限與安全 245
8.1 MaxCompute 的權限與安全簡介 245
8.2 管理MaxCompute 的用戶 246
8.3 管理MaxCompute 的權限 247
8.3.1 授權的三要素 248
8.3.2 項目空間內的權限 249
8.3.3 【實戰】使用ACL 授權 250
8.3.4 【實戰】使用Policy 授權 252
8.3.5 ACL 授權與Policy 授權的區別 256
8.4 管理MaxCompute 的角色/257
8.4.1 角色的作用 . 257
8.4.2 內置角色和自定義角色 258
8.4.3 【實戰】使用MaxCompute 的角色 259
8.5 LabelSecurity . 260
8.5.1 LabelSecurity 簡介 260
8.5.2 【實戰】使用LabelSecurity 260
8.5.3 【實戰】LabelSecurity 的應用場景示例 264
8.6 使用Package 實現跨項目空間的資源分享 265
8.6.1 什麽是跨項目空間的資源分享 265
8.6.2 Package 的創建與使用/266
8.6.3 【實戰】Package 的應用場景示例 . 268
8.7 項目空間的數據保護 270
8.7.1 MaxCompute 的數據保護機制 271
8.7.2 數據保護機制下數據的流動 271

★★第3 篇 阿裡雲大數據的實時計算服務
★第9 章 消息隊列Kafka 版 274
9.1 消息隊列基礎 274
9.1.1 消息隊列概述/274
9.1.2 消息隊列的分類/275
9.2 消息隊列Kafka 版的體系架構 278
9.2.1 消息服務器Broker . 279
9.2.2 主題、分區與副本 279
9.2.3 消息的生產者 . 281
9.2.4 消息的消費者 . 283
9.3 快速上手消息隊列Kafka 版 285
9.3.1 快速入門操作流程 285
9.3.2 【實戰】獲取訪問授權 286
9.3.3 【實戰】購買和部署 287
9.3.4 【實戰】創建資源 . 292
9.3.5 【實戰】使用管理控制台收發消息 294
9.3.6 【實戰】實例運行健康自檢指南 296
9.4 消息隊列Kafka 版應用開發 298
9.4.1 【實戰】開發基本的消息生產者與消費者 298
9.4.2 【實戰】發送與接收自定義消息 304

★第10 章 實時計算Flink版 313
10.1 實時計算Flink 版基礎 313
10.1.1 什麽是實時計算Flink 版 313
10.1.2 實時計算Flink 版的應用場景 . 314
10.1.3 【實戰】快速上手實時計算Flink 版 317
10.2 批處理開發——基於實時計算引擎Flink Dataset . 325
10.2.1 【實戰】使用map、flatMap 與mapPartition 算子 326
10.2.2 【實戰】使用filter 與distinct 算子 330
10.2.3 【實戰】使用join 算子 331
10.2.4 【實戰】使用cross 算子 333
10.2.5 【實戰】使用First-N 算子 334
10.2.6 【實戰】使用外連接操作 335
10.3 流處理開發——基於實時計算引擎Flink Datastream 338
10.3.1 【實戰】開發單並行度的數據源 . 339
10.3.2 【實戰】使用union 算子 339
10.3.3 【實戰】使用connect 算子 341
10.4 SQL 與Table 開發——基於實時計算引擎Flink Table&SQL . 342
10.4.1 【實戰】開發Flink Table 程序 343
10.4.2 【實戰】開發Flink SQL 程序 . 347
10.5 實時計算Flink 版的高級特性 352
10.5.1 檢查點設置/352
10.5.2 重啟策略/354
10.5.3 分佈式緩存/354
10.5.4 累加器 356

★★第4 篇 阿裡雲大數據增值服務——數加平臺
★第11 章 阿裡雲大數據集成開發平臺DataWorks 362
11.1 DataWorks 基礎 . 362
11.1.1 DataWorks 功能架構 362
11.1.2 DataWorks 的基本概念 369
11.1.3 DataWorks 中的角色 371
11.2 DataWorks 中的數據集成 371
11.2.1 離線數據集成/372
11.2.2 實時數據集成/373
11.2.3 數據同步和數據同步作業 374
11.3 【實戰】DataWorks 項目開發案例 375
11.3.1 準備項目開發環境 375
11.3.2 準備測試數據/378
11.3.3 開發業務流程/384
11.3.4 提交業務流程/390

★第12 章 數據可視化分析平臺Quick BI 393
12.1 Quick BI 簡介 393
12.1.1 什麽是Quick BI/393
12.1.2 Quick BI 的基本對象/394
12.1.3 Quick BI 的體系架構/397
12.1.4 Quick BI 的應用場景/399
12.2 【實戰】使用數據可視化分析平臺Quick BI 400
12.2.1 項目背景與需求 . 400
12.2.2 連接數據源/400
12.2.3 數據建模/402
12.2.4 數據可視化分析 . 405
12.2.5 發布共享儀表板 . 414

★第13 章 機器學習平臺PAI/416
13.1 機器學習基礎知識/416
13.1.1 什麽是機器學習 . 416
13.1.2 機器學習的常見算法 417
13.2 機器學習平臺PAI 基礎知識 417
13.2.1 初識機器學習平臺PAI 417
13.2.2 PAI 的架構/418
13.2.3 PAI 的功能特性 . 419
13.2.4 PAI 的基本概念 . 419
13.3 使用機器學習平臺PAI 實現智能推薦 421
13.3.1 使用協同過濾算法實現商品推薦 421
13.3.2 使用ALS 算法實現商品推薦 427