企業(yè)大數(shù)據(jù)處理實戰(zhàn)派——基于阿里云大數(shù)據(jù)平臺
定 價:128 元
- 作者:趙渝強
- 出版時間:2023/9/1
- ISBN:9787121460760
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:F272.7
- 頁碼:452
- 紙張:
- 版次:01
- 開本:16開
本書基于作者多年的教學與實踐經(jīng)驗編寫,重點介紹阿里云大數(shù)據(jù)體系的核心原理與架構(gòu),內(nèi)容涉及開發(fā)、運維、管理與架構(gòu)。全書分為4 篇,共13 章:第1 篇(第1~2 章)介紹大數(shù)據(jù)技術(shù)基礎(chǔ);第2 篇(第3~8 章)介紹阿里云大數(shù)據(jù)的離線計算服務(wù);第3 篇(第9~10 章)介紹阿里云大數(shù)據(jù)的實時計算服務(wù),包括消息隊列Kafka 版和實時計算Flink 版;第4 篇(第11~13 章)介紹阿里云大數(shù)據(jù)增值服務(wù)——數(shù)加平臺,包括阿里云大數(shù)據(jù)集成開發(fā)平臺DataWorks、數(shù)據(jù)可視化分析平臺Quick BI 和機器學習平臺PAI。本書適合對大數(shù)據(jù)技術(shù)感興趣的平臺架構(gòu)師、運維管理人員和項目開發(fā)人員閱讀。無論讀者是否接觸過大數(shù)據(jù)技術(shù),只要具備基礎(chǔ)的Linux 知識和Java 基礎(chǔ),就能夠通過本書快速掌握阿里云大數(shù)據(jù)技術(shù)并增加實戰(zhàn)經(jīng)驗。根據(jù)本書中的操作步驟,讀者可以在實際的項目生產(chǎn)環(huán)境中快速應(yīng)用并實施阿里云大數(shù)據(jù)平臺技術(shù)。
趙渝強,曾任京東大學大數(shù)據(jù)學院院長、Oracle(中國)高級技術(shù)顧問,現(xiàn)專職從事培訓工作。出版了《大數(shù)據(jù)原理與實戰(zhàn)》《Kafka進階》等書。
★★第1 篇 大數(shù)據(jù)技術(shù)基礎(chǔ)
★第1 章 大數(shù)據(jù)核心理論基礎(chǔ)與架構(gòu) 2
1.1 什么是大數(shù)據(jù) 2
1.1.1 大數(shù)據(jù)的基本概念和特性 2
1.1.2 大數(shù)據(jù)平臺的核心問題——存儲與計算 4
1.2 大數(shù)據(jù)的理論基礎(chǔ) 6
1.2.1 大數(shù)據(jù)的分布式存儲 6
1.2.2 大數(shù)據(jù)的分布式計算 9
1.3 大數(shù)據(jù)技術(shù)與數(shù)據(jù)倉庫 . 12
1.3.1 什么是數(shù)據(jù)倉庫/12
1.3.2 基于大數(shù)據(jù)技術(shù)實現(xiàn)的數(shù)據(jù)倉庫 13
1.4 基于開源大數(shù)據(jù)組件的大數(shù)據(jù)平臺架構(gòu) 15
1.4.1 數(shù)據(jù)源層 16
1.4.2 數(shù)據(jù)采集層 16
1.4.3 大數(shù)據(jù)平臺層 16
1.4.4 數(shù)據(jù)倉庫層 17
1.4.5 應(yīng)用層 17
1.5 自建大數(shù)據(jù)平臺與租賃大數(shù)據(jù)平臺 17
1.5.1 為什么推薦使用租賃的大數(shù)據(jù)平臺 17
1.5.2 為什么選擇阿里云大數(shù)據(jù)平臺 18
1.6 阿里云大數(shù)據(jù)生態(tài)圈體系/18
1.6.1 阿里云大數(shù)據(jù)基礎(chǔ)組件 . 19
1.6.2 基于阿里云大數(shù)據(jù)基礎(chǔ)組件的數(shù)加平臺 24
★★第2 章 阿里云大數(shù)據(jù)技術(shù)基礎(chǔ)——開源大數(shù)據(jù)技術(shù)生態(tài)圈 27
2.1 開源大數(shù)據(jù)技術(shù)生態(tài)圈簡介 27
2.1.1 面向離線數(shù)據(jù)的存儲計算引擎Hadoop 生態(tài)圈體系及其組件 27
2.1.2 面向批處理的大數(shù)據(jù)計算引擎Spark 生態(tài)圈體系及其組件 29
2.1.3 面向流處理的大數(shù)據(jù)計算引擎Flink 生態(tài)圈體系及其組件 . 30
2.2 面向離線數(shù)據(jù)的存儲計算引擎Hadoop 快速上手 32
2.2.1 【實戰(zhàn)】部署Hadoop 集群 33
2.2.2 【實戰(zhàn)】使用Hadoop 文件系統(tǒng)HDFS 存儲數(shù)據(jù) 38
2.2.3 【實戰(zhàn)】使用Hadoop 離線計算引擎MapReduce 處理數(shù)據(jù) 46
2.3 面向批處理的大數(shù)據(jù)計算引擎Spark 快速上手 49
2.3.1 【實戰(zhàn)】部署Spark 集群 49
2.3.2 【實戰(zhàn)】執(zhí)行Spark 離線計算任務(wù) 51
2.3.3 【實戰(zhàn)】執(zhí)行Spark 實時計算任務(wù) 57
2.3.4 【實戰(zhàn)】使用Spark SQL 處理結(jié)構(gòu)化數(shù)據(jù) . 60
2.4 面向流處理的大數(shù)據(jù)計算引擎Flink 快速上手 . 61
2.4.1 【實戰(zhàn)】部署Flink 集群/62
2.4.2 【實戰(zhàn)】執(zhí)行Flink 離線計算任務(wù) 63
2.4.3 【實戰(zhàn)】執(zhí)行Flink 實時計算任務(wù) 64
2.4.4 【實戰(zhàn)】使用Flink SQL 處理結(jié)構(gòu)化數(shù)據(jù) 66
2.5 大數(shù)據(jù)體系的單點故障問題 66
★★第2 篇 阿里云大數(shù)據(jù)的離線計算服務(wù)
★第3 章 面向離線數(shù)據(jù)存儲與計算的MaxCompute 基礎(chǔ) . 70
3.1 MaxCompute 簡介 70
3.1.1 什么是MaxCompute 70
3.1.2 MaxCompute 的特點 71
3.2 初識MaxCompute 71
3.2.1 MaxCompute 的架構(gòu) 71
3.2.2 MaxCompute 的核心概念 74
3.2.3 MaxCompute 的數(shù)據(jù)類型 76
3.3 使用MaxCompute 的準備工作 78
3.3.1 【實戰(zhàn)】創(chuàng)建阿里云賬號 79
3.3.2 【實戰(zhàn)】開通MaxCompute 服務(wù) . 82
3.3.3 【實戰(zhàn)】創(chuàng)建項目 83
3.3.4 配置MaxCompute 客戶端/85
3.4 MaxCompute 快速上手 93
3.4.1 【實戰(zhàn)】使用命令行客戶端 93
3.4.2 【實戰(zhàn)】執(zhí)行MapReduce 任務(wù) 99
3.4.3 【實戰(zhàn)】執(zhí)行Spark 任務(wù) 101
3.5 基于Tunnel 的數(shù)據(jù)上傳與下載/102
3.5.1 Tunnel 簡介 102
3.5.2 【實戰(zhàn)】使用Tunnel 的命令行工具 103
3.5.3 【實戰(zhàn)】使用Tunnel 的SDK/107
★第4 章 處理結(jié)構(gòu)化數(shù)據(jù)——基于MaxCompute SQL 112
4.1 MaxCompute SQL 簡介 112
4.1.1 MaxCompute SQL 與其他SQL 的差異/112
4.1.2 MaxCompute SQL 的數(shù)據(jù)類型 114
4.1.3 MaxCompute SQL 的數(shù)據(jù)類型轉(zhuǎn)換 115
4.2 使用MaxCompute SQL 119
4.2.1 【實戰(zhàn)】使用DDL 語句 119
4.2.2 【實戰(zhàn)】使用DML 語句 135
4.2.3 【實戰(zhàn)】使用DQL 語句 140
4.2.4 【實戰(zhàn)】使用MaxCompute SQL 的增強語法CTE 143
4.3 使用MaxCompute SQL 的內(nèi)建函數(shù) 145
4.3.1 【實戰(zhàn)】日期函數(shù) . 145
4.3.2 【實戰(zhàn)】窗口函數(shù) . 148
4.3.3 【實戰(zhàn)】聚合函數(shù) . 152
4.3.4 【實戰(zhàn)】條件判斷函數(shù)/152
4.3.5 數(shù)學函數(shù)和字符串函數(shù) 154
4.4 在MaxCompute 中自定義SQL 155
4.4.1 【實戰(zhàn)】UDF . 155
4.4.2 【實戰(zhàn)】UDT . 157
4.4.3 UDJ . 158
★第5 章 處理離線數(shù)據(jù)——基于MaxCompute MapReduce/159
5.1 MaxCompute MapReduce 簡介 159
5.1.1 MaxCompute MapReduce 的處理流程/159
5.1.2 MaxCompute MapReduce 的使用限制/160
5.2 開發(fā)WordCount 單詞計數(shù)程序/161
5.2.1 WordCount 數(shù)據(jù)處理的流程/162
5.2.2 MaxCompute MapReduce 的編程接口/163
5.2.3 【實戰(zhàn)】開發(fā)WordCount 程序 166
5.3 MaxCompute MapReduce 的高級特性 169
5.3.1 【實戰(zhàn)】實現(xiàn)數(shù)據(jù)排序/170
5.3.2 【實戰(zhàn)】實現(xiàn)數(shù)據(jù)二次排序/173
5.3.3 【實戰(zhàn)】使用過濾模式MapOnly . 177
5.3.4 【實戰(zhàn)】使用Join 實現(xiàn)多表連接 . 179
5.3.5 【實戰(zhàn)】使用計數(shù)器Counter/183
5.3.6 【實戰(zhàn)】使用Unique 實現(xiàn)數(shù)據(jù)去重 187
5.3.7 【實戰(zhàn)】使用項目空間資源/193
★第6 章 處理離線數(shù)據(jù)——基于MaxCompute Spark/196
6.1 MaxCompute Spark 基礎(chǔ) . 196
6.1.1 MaxCompute Spark 的系統(tǒng)結(jié)構(gòu) . 196
6.1.2 MaxCompute Spark 的使用限制 . 197
6.1.3 使用spark-shell 198
6.2 MaxCompute Spark 的核心數(shù)據(jù)模型RDD 199
6.2.1 什么是RDD 200
6.2.2 熟悉RDD 的算子 202
6.2.3 【實戰(zhàn)】RDD 的緩存機制 209
6.2.4 【實戰(zhàn)】RDD 的檢查點機制 211
6.2.5 RDD 的依賴關(guān)系和任務(wù)執(zhí)行的階段 212
6.3 在MaxCompute Spark 中使用SQL 處理數(shù)據(jù) 214
6.3.1 Spark SQL 的特點/214
6.3.2 Spark SQL 的數(shù)據(jù)模型/215
6.3.3 【實戰(zhàn)】創(chuàng)建DataFrame 215
6.3.4 【實戰(zhàn)】使用DataFrame 處理數(shù)據(jù) 218
6.3.5 【實戰(zhàn)】創(chuàng)建視圖 . 220
6.4 【實戰(zhàn)】MaxCompute Spark 開發(fā)案例 . 222
6.4.1 開發(fā)Java 版本的單詞計數(shù)程序WordCount 222
6.4.2 開發(fā)Scala 版本的單詞計數(shù)程序WordCount/224
6.5 診斷MaxCompute Spark 作業(yè) 225
6.5.1 使用Logview 工具診斷作業(yè) 226
6.5.2 使用Spark Web UI 診斷作業(yè) 227
★第7 章 處理圖數(shù)據(jù)——基于MaxCompute Graph 229
7.1 MaxCompute Graph 基礎(chǔ)/229
7.1.1 MaxCompute Graph 的基本概念 230
7.1.2 MaxCompute Graph 的數(shù)據(jù)結(jié)構(gòu) . 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 【實戰(zhàn)】開發(fā)并運行單源最短距離算法程序 239
★第8 章 MaxCompute 的權(quán)限與安全 245
8.1 MaxCompute 的權(quán)限與安全簡介 245
8.2 管理MaxCompute 的用戶 246
8.3 管理MaxCompute 的權(quán)限 247
8.3.1 授權(quán)的三要素 248
8.3.2 項目空間內(nèi)的權(quán)限 249
8.3.3 【實戰(zhàn)】使用ACL 授權(quán) 250
8.3.4 【實戰(zhàn)】使用Policy 授權(quán) 252
8.3.5 ACL 授權(quán)與Policy 授權(quán)的區(qū)別 256
8.4 管理MaxCompute 的角色/257
8.4.1 角色的作用 . 257
8.4.2 內(nèi)置角色和自定義角色 258
8.4.3 【實戰(zhàn)】使用MaxCompute 的角色 259
8.5 LabelSecurity . 260
8.5.1 LabelSecurity 簡介 260
8.5.2 【實戰(zhàn)】使用LabelSecurity 260
8.5.3 【實戰(zhàn)】LabelSecurity 的應(yīng)用場景示例 264
8.6 使用Package 實現(xiàn)跨項目空間的資源分享 265
8.6.1 什么是跨項目空間的資源分享 265
8.6.2 Package 的創(chuàng)建與使用/266
8.6.3 【實戰(zhàn)】Package 的應(yīng)用場景示例 . 268
8.7 項目空間的數(shù)據(jù)保護 270
8.7.1 MaxCompute 的數(shù)據(jù)保護機制 271
8.7.2 數(shù)據(jù)保護機制下數(shù)據(jù)的流動 271
★★第3 篇 阿里云大數(shù)據(jù)的實時計算服務(wù)
★第9 章 消息隊列Kafka 版 274
9.1 消息隊列基礎(chǔ) 274
9.1.1 消息隊列概述/274
9.1.2 消息隊列的分類/275
9.2 消息隊列Kafka 版的體系架構(gòu) 278
9.2.1 消息服務(wù)器Broker . 279
9.2.2 主題、分區(qū)與副本 279
9.2.3 消息的生產(chǎn)者 . 281
9.2.4 消息的消費者 . 283
9.3 快速上手消息隊列Kafka 版 285
9.3.1 快速入門操作流程 285
9.3.2 【實戰(zhàn)】獲取訪問授權(quán) 286
9.3.3 【實戰(zhàn)】購買和部署 287
9.3.4 【實戰(zhàn)】創(chuàng)建資源 . 292
9.3.5 【實戰(zhàn)】使用管理控制臺收發(fā)消息 294
9.3.6 【實戰(zhàn)】實例運行健康自檢指南 296
9.4 消息隊列Kafka 版應(yīng)用開發(fā) 298
9.4.1 【實戰(zhàn)】開發(fā)基本的消息生產(chǎn)者與消費者 298
9.4.2 【實戰(zhàn)】發(fā)送與接收自定義消息 304
★第10 章 實時計算Flink版 313
10.1 實時計算Flink 版基礎(chǔ) 313
10.1.1 什么是實時計算Flink 版 313
10.1.2 實時計算Flink 版的應(yīng)用場景 . 314
10.1.3 【實戰(zhàn)】快速上手實時計算Flink 版 317
10.2 批處理開發(fā)——基于實時計算引擎Flink Dataset . 325
10.2.1 【實戰(zhàn)】使用map、flatMap 與mapPartition 算子 326
10.2.2 【實戰(zhàn)】使用filter 與distinct 算子 330
10.2.3 【實戰(zhàn)】使用join 算子 331
10.2.4 【實戰(zhàn)】使用cross 算子 333
10.2.5 【實戰(zhàn)】使用First-N 算子 334
10.2.6 【實戰(zhàn)】使用外連接操作 335
10.3 流處理開發(fā)——基于實時計算引擎Flink Datastream 338
10.3.1 【實戰(zhàn)】開發(fā)單并行度的數(shù)據(jù)源 . 339
10.3.2 【實戰(zhàn)】使用union 算子 339
10.3.3 【實戰(zhàn)】使用connect 算子 341
10.4 SQL 與Table 開發(fā)——基于實時計算引擎Flink Table&SQL . 342
10.4.1 【實戰(zhàn)】開發(fā)Flink Table 程序 343
10.4.2 【實戰(zhàn)】開發(fā)Flink SQL 程序 . 347
10.5 實時計算Flink 版的高級特性 352
10.5.1 檢查點設(shè)置/352
10.5.2 重啟策略/354
10.5.3 分布式緩存/354
10.5.4 累加器 356
★★第4 篇 阿里云大數(shù)據(jù)增值服務(wù)——數(shù)加平臺
★第11 章 阿里云大數(shù)據(jù)集成開發(fā)平臺DataWorks 362
11.1 DataWorks 基礎(chǔ) . 362
11.1.1 DataWorks 功能架構(gòu) 362
11.1.2 DataWorks 的基本概念 369
11.1.3 DataWorks 中的角色 371
11.2 DataWorks 中的數(shù)據(jù)集成 371
11.2.1 離線數(shù)據(jù)集成/372
11.2.2 實時數(shù)據(jù)集成/373
11.2.3 數(shù)據(jù)同步和數(shù)據(jù)同步作業(yè) 374
11.3 【實戰(zhàn)】DataWorks 項目開發(fā)案例 375
11.3.1 準備項目開發(fā)環(huán)境 375
11.3.2 準備測試數(shù)據(jù)/378
11.3.3 開發(fā)業(yè)務(wù)流程/384
11.3.4 提交業(yè)務(wù)流程/390
★第12 章 數(shù)據(jù)可視化分析平臺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 的體系架構(gòu)/397
12.1.4 Quick BI 的應(yīng)用場景/399
12.2 【實戰(zhàn)】使用數(shù)據(jù)可視化分析平臺Quick BI 400
12.2.1 項目背景與需求 . 400
12.2.2 連接數(shù)據(jù)源/400
12.2.3 數(shù)據(jù)建模/402
12.2.4 數(shù)據(jù)可視化分析 . 405
12.2.5 發(fā)布共享儀表板 . 414
★第13 章 機器學習平臺PAI/416
13.1 機器學習基礎(chǔ)知識/416
13.1.1 什么是機器學習 . 416
13.1.2 機器學習的常見算法 417
13.2 機器學習平臺PAI 基礎(chǔ)知識 417
13.2.1 初識機器學習平臺PAI 417
13.2.2 PAI 的架構(gòu)/418
13.2.3 PAI 的功能特性 . 419
13.2.4 PAI 的基本概念 . 419
13.3 使用機器學習平臺PAI 實現(xiàn)智能推薦 421
13.3.1 使用協(xié)同過濾算法實現(xiàn)商品推薦 421
13.3.2 使用ALS 算法實現(xiàn)商品推薦 427