發表於2024-11-27
上篇 內核解密
第1章 電光石火間體驗Spark 2.2開發實戰 2
1.1 通過RDD實戰電影點評係統入門及源碼閱讀 2
1.1.1 Spark核心概念圖解 2
1.1.2 通過RDD實戰電影點評係統案例 4
1.2 通過DataFrame和DataSet實戰電影點評係統 7
1.2.1 通過DataFrame實戰電影點評係統案例 7
1.2.2 通過DataSet實戰電影點評係統案例 10
1.3 Spark 2.2源碼閱讀環境搭建及源碼閱讀體驗 11
第2章 Spark 2.2技術及原理 14
2.1 Spark 2.2綜述 14
2.1.1 連續應用程序 14
2.1.2 新的API 15
2.2 Spark 2.2 Core 16
2.2.1 第二代Tungsten引擎 16
2.2.2 SparkSession 16
2.2.3 纍加器API 17
2.3 Spark 2.2 SQL 19
2.3.1 Spark SQL 20
2.3.2 DataFrame和Dataset API 20
2.3.3 Timed Window 21
2.4 Spark 2.2 Streaming 21
2.4.1 Structured Streaming 21
2.4.2 增量輸齣模式 23
2.5 Spark 2.2 MLlib 27
2.5.1 基於DataFrame的Machine Learning API 28
2.5.2 R的分布式算法 28
2.6 Spark 2.2 GraphX 29
第3章 Spark的靈魂:RDD和DataSet 30
3.1 為什麼說RDD和DataSet是Spark的靈魂 30
3.1.1 RDD的定義及五大特性剖析 30
3.1.2 DataSet的定義及內部機製剖析 34
3.2 RDD彈性特性七個方麵解析 36
3.3 RDD依賴關係 43
3.3.1 窄依賴解析 43
3.3.2 寬依賴解析 45
3.4 解析Spark中的DAG邏輯視圖 46
3.4.1 DAG生成的機製 46
3.4.2 DAG邏輯視圖解析 47
3.5 RDD內部的計算機製 49
3.5.1 Task解析 49
3.5.2 計算過程深度解析 49
3.6 Spark RDD容錯原理及其四大核心要點解析 57
3.6.1 Spark RDD容錯原理 57
3.6.2 RDD容錯的四大核心要點 57
3.7 Spark RDD中Runtime流程解析 59
3.7.1 Runtime架構圖 59
3.7.2 生命周期 60
3.8 通過WordCount實戰解析Spark RDD內部機製 70
3.8.1 Spark WordCount動手實踐 70
3.8.2 解析RDD生成的內部機製 72
3.9 基於DataSet的代碼到底是如何一步步轉化成為RDD的 78
第4章 Spark Driver啓動內幕剖析 81
4.1 Spark Driver Program剖析 81
4.1.1 Spark Driver Program 81
4.1.2 SparkContext深度剖析 81
4.1.3 SparkContext源碼解析 82
4.2 DAGScheduler解析 96
4.2.1 DAG的定義 96
4.2.2 DAG的實例化 97
4.2.3 DAGScheduler劃分Stage的原理 98
4.2.4 DAGScheduler劃分Stage的具體算法 99
4.2.5 Stage內部Task獲取最佳位置的算法 113
4.3 TaskScheduler解析 116
4.3.1 TaskScheduler原理剖析 116
4.3.2 TaskScheduler源碼解析 117
4.4 SchedulerBackend解析 132
4.4.1 SchedulerBackend原理剖析 132
4.4.2 SchedulerBackend源碼解析 132
4.4.3 Spark程序的注冊機製 133
4.4.4 Spark程序對計算資源Executor的管理 134
4.5 打通Spark係統運行內幕機製循環流程 135
4.6 本章總結 145
第5章 Spark集群啓動原理和源碼詳解 146
5.1 Master啓動原理和源碼詳解 146
5.1.1 Master啓動的原理詳解 146
5.1.2 Master啓動的源碼詳解 147
5.1.3 Master HA雙機切換 157
5.1.4 Master的注冊機製和狀態管理解密 163
5.2 Worker啓動原理和源碼詳解 170
5.2.1 Worker啓動的原理流程 170
5.2.2 Worker啓動的源碼詳解 174
5.3 ExecutorBackend啓動原理和源碼詳解 178
5.3.1 ExecutorBackend接口與Executor的關係 178
5.3.2 ExecutorBackend的不同實現 179
5.3.3 ExecutorBackend中的通信 181
5.3.4 ExecutorBackend的異常處理 183
5.4 Executor中任務的執行 184
5.4.1 Executor中任務的加載 184
5.4.2 Executor中的任務綫程池 185
5.4.3 任務執行失敗處理 186
5.4.4 揭秘TaskRunner 188
5.5 Executor執行結果的處理方式 189
5.6 本章總結 197
第6章 Spark Application提交給集群的原理和源碼詳解 198
6.1 Spark Application到底是如何提交給集群的 198
6.1.1 Application提交參數配置詳解 198
6.1.2 Application提交給集群原理詳解 199
6.1.3 Application提交給集群源碼詳解 201
6.2 Spark Application是如何嚮集群申請資源的 211
6.2.1 Application申請資源的兩種類型詳解 211
6.2.2 Application申請資源的源碼詳解 213
6.3 從Application提交的角度重新審視Driver 219
6.3.1 Driver到底是什麼時候産生的 220
6.3.2 Driver和Master交互原理解析 238
6.3.3 Driver和Master交互源碼詳解 244
6.4 從Application提交的角度重新審視Executor 249
6.4.1 Executor到底是什麼時候啓動的 249
6.4.2 Executor如何把結果交給Application 254
6.5 Spark 1.6 RPC內幕解密:運行機製、源碼詳解、Netty與Akka等 254
6.6 本章總結 267
第7章 Shuffle原理和源碼詳解 268
7.1 概述 268
7.2 Shuffle的框架 269
7.2.1 Shuffle的框架演進 269
7.2.2 Shuffle的框架內核 270
7.2.3 Shuffle框架的源碼解析 272
7.2.4 Shuffle數據讀寫的源碼解析 275
7.3 Hash Based Shuffle 281
7.3.1 概述 281
7.3.2 Hash Based Shuffle內核 282
7.3.3 Hash Based Shuffle數據讀寫的源碼解析 285
7.4 Sorted Based Shuffle 290
7.4.1 概述 292
7.4.2 Sorted Based Shuffle內核 293
7.4.3 Sorted Based Shuffle數據讀寫的源碼解析 294
7.5 Tungsten Sorted Based Shuffle 302
7.5.1 概述 302
7.5.2 Tungsten Sorted Based Shuffle內核 302
7.5.3 Tungsten Sorted Based Shuffle數據讀寫的源碼解析 303
7.6 Shuffle與Storage 模塊間的交互 309
7.6.1 Shuffle注冊的交互 310
7.6.2 Shuffle寫數據的交互 314
7.6.3 Shuffle讀數據的交互 315
7.6.4 BlockManager架構原理、運行流程圖和源碼解密 315
7.6.5 BlockManager解密進階:BlockManager初始化和注冊解密、BlockManager- Master工作解密、BlockTransferService解密、本地數據讀寫解密、遠程數據讀寫解密 324
7.7 本章總結 341
第8章 Job工作原理和源碼詳解 342
8.1 Job到底在什麼時候産生 342
8.1.1 觸發Job的原理和源碼解析 342
8.1.2 觸發Job的算子案例 344
8.2 Stage劃分內幕 345
8.2.1 Stage劃分原理詳解 345
8.2.2 Stage劃分源碼詳解 346
8.3 Task全生命周期詳解 346
8.3.1 Task的生命過程詳解 347
8.3.2 Task在Driver和Executor中交互的全生命周期原理和源碼詳解 348
8.4 ShuffleMapTask和ResultTask處理結果是如何被Driver管理的 364
8.4.1 ShuffleMapTask執行結果和Driver的交互原理及源碼詳解 364
8.4.2 ResultTask執行結果與Driver的交互原理及源碼詳解 370
第9章 Spark中Cache和checkpoint原理和源碼詳解 372
9.1 Spark中Cache原理和源碼詳解 372
9.1.1 Spark中Cache原理詳解 372
9.1.2 Spark中Cache源碼詳解 372
9.2 Spark中checkpoint原理和源碼詳解 381
9.2.1 Spark中checkpoint原理詳解 381
9.2.2 Spark中checkpoint源碼詳解 381
第10章 Spark中Broadcast和Accumulator原理和源碼詳解 391
10.1 Spark中Broadcast原理和源碼詳解 391
10.1.1 Spark中Broadcast原理詳解 391
10.1.2 Spark中Broadcast源碼詳解 393
10.2 Spark中Accumulator原理和源碼詳解 396
10.2.1 Spark中Accumulator原理詳解 396
10.2.2 Spark中Accumulator源碼詳解 396
第11章 Spark與大數據其他經典組件整閤原理與實戰 399
11.1 Spark組件綜閤應用 399
11.2 Spark與Alluxio整閤原理與實戰 400
11.2.1 Spark與Alluxio整閤原理 400
11.2.2 Spark與Alluxio整閤實戰 401
11.3 Spark與Job Server整閤原理與實戰 403
11.3.1 Spark與Job Server整閤原理 403
11.3.2 Spark與Job Server整閤實戰 404
11.4 Spark與Redis整閤原理與實戰 406
11.4.1 Spark與Redis整閤原理 406
11.4.2 Spark與Redis整閤實戰 407
中篇 商業案例
第12章 Spark商業案例之大數據電影點評係統應用案例 412
12.1 通過RDD實現分析電影的用戶行為信息 412
12.1.1 搭建IDEA開發環境 412
12.1.2 大數據電影點評係統中電影數據說明 425
12.1.3 電影點評係統用戶行為分析統計實戰 428
12.2 通過RDD實現電影流行度分析 431
12.3 通過RDD分析各種類型的最喜愛電影TopN及性能優化技巧 433
12.4 通過RDD分析電影點評係統仿QQ和微信等用戶群分析及廣播
背後機製解密 436
12.5 通過RDD分析電影點評係統實現Java和Scala版本的二次排序係統 439
12.5.1 二次排序自定義Key值類實現(Java) 440
12.5.2 電影點評係統二次排序功能實現(Java) 442
12.5.3 二次排序自定義Key值類實現(Scala) 445
12.5.4 電影點評係統二次排序功能實現(Scala) 446
12.6 通過Spark SQL中的SQL語句實現電影點評係統用戶行為分析 447
12.7 通過Spark SQL下的兩種不同方式實現口碑最佳電影分析 451
12.8 通過Spark SQL下的兩種不同方式實現最流行電影分析 456
12.9 通過DataFrame分析最受男性和女性喜愛電影TopN 457
12.10 純粹通過DataFrame分析電影點評係統仿QQ和微信、淘寶等用戶群 460
12.11 純粹通過DataSet對電影點評係統進行流行度和不同年齡階段興趣分析等 462
12.11.1 通過DataSet實現某特定電影觀看者中男性和女性不同年齡的人數 463
12.11.2 通過DataSet方式計算所有電影中平均得分最高
(口碑最好)的電影TopN 464
12.11.3 通過DataSet方式計算所有電影中粉絲或者觀看人數最多(最流行電影)的電影TopN 465
12.11.4 純粹通過DataSet的方式實現所有電影中最受男性、女性喜愛的
電影Top10 466
12.11.5 純粹通過DataSet的方式實現所有電影中QQ或者微信核心目標
用戶最喜愛電影TopN分析 467
12.11.6 純粹通過DataSet的方式實現所有電影中淘寶核心目標用戶最喜愛電影TopN分析 469
12.12 大數據電影點評係統應用案例涉及的核心知識點原理、源碼及案例代碼 470
12.12.1 知識點:廣播變量Broadcast內幕機製 470
12.12.2 知識點:SQL全局臨時視圖及臨時視圖 473
12.12.3 大數據電影點評係統應用案例完整代碼 474
12.13 本章總結 496
第13章 Spark 2.2實戰之Dataset開發實戰企業人員管理係統應用案例 498
Spark大數據商業實戰三部麯:內核解密 商業案例 性能調優 下載 mobi pdf epub txt 電子書 格式 2024
Spark大數據商業實戰三部麯:內核解密 商業案例 性能調優 下載 mobi epub pdf 電子書書本超厚,書角有點磨損,不影響看
評分沒什麼用,當時沒注意到這本書是王傢林編輯的。。源碼放到q群,還需要加微信,還不同意入群。 第一次見這麼無恥的作者。 為瞭賺錢都tm瘋瞭
評分非常不錯的書,抓緊時間看書瞭。我
評分當然書裏也有不少內容,但需要通過學習筆記整理齣來,不然很亂(原因就是重復囉嗦)。
評分書本超厚,書角有點磨損,不影響看
評分很好
評分好好好好好好好好好好好好好好好好好好好好好好好好好好
評分很好
評分很棒的書,好好學習一下
Spark大數據商業實戰三部麯:內核解密 商業案例 性能調優 mobi epub pdf txt 電子書 格式下載 2024