Spark大數據商業實戰三部曲(2018年清華大學出版社出版的圖書)

Spark大數據商業實戰三部曲(2018年清華大學出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《Spark大數據商業實戰三部曲》是清華大學出版社出版的圖書,作者是王家林、段智華、夏陽。

基本介紹

  • 中文名:Spark大數據商業實戰三部曲
  • 作者:王家林、段智華、夏陽。
  • 出版社:清華大學出版社
  • ISBN:9787302489627 
內容簡介,圖書目錄,

內容簡介

本書基於Spark2.2.X,以Spark商業案例實戰和Spark在生產環境下幾乎所有類型的性能調優為核心,以Spark核心解密為基石,分為上篇、中篇、下篇,對企業生產環境下的Spark商業案例與性能調優抽絲剝繭地進行剖析。上篇基於Spark源碼,從一個動手實戰案例入手,循序漸進地全面解析了Spark2.2新特性及Spark核心源碼;中篇選取Spark開發中具有代表的經典學習案例,深入淺出地介紹,在案例中綜合套用Spark的大數據技術;下篇性能調優內容基本完全覆蓋了Spark在生產環境下的所有調優技術。

圖書目錄

上篇 核心解密
第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

相關詞條

熱門詞條

聯絡我們