首 頁
手機版

Spark技術(shù)內(nèi)幕:深入解析Spark內(nèi)核架構(gòu)設(shè)計與實現(xiàn)原理 張安站pdf掃描版

  • 軟件大?。?1.61M
  • 軟件語言:簡體中文
  • 軟件類型:國產(chǎn)軟件
  • 軟件授權(quán):免費軟件
  • 更新時間:2023/09/09
  • 軟件類別:電子閱讀
  • 應(yīng)用平臺:Windows11,Windows10,Windows8,Windows7,WinVista,Win2003,WinXP,Win2000
網(wǎng)友評分:8.6分
網(wǎng)友評論 下載地址 收藏該頁
本地下載

Spark技術(shù)內(nèi)幕:深入解析Spark內(nèi)核架構(gòu)設(shè)計與實現(xiàn)原理是一本Spark解析實用教學(xué)書籍,由張安站編著,全書詳細剖析了Spark內(nèi)核各個模塊,以源碼為基礎(chǔ),全面分析了Spark內(nèi)核的各個模塊的設(shè)計思想和實現(xiàn)原理,深入理解其內(nèi)部運作機制乃至實現(xiàn)細節(jié),幫助Spark領(lǐng)域的從業(yè)人員全面掌握Spark核心技術(shù),進而在應(yīng)用開發(fā)中做到游刃有余和性能調(diào)優(yōu)時做到有的放矢。

內(nèi)容介紹

《Spark技術(shù)內(nèi)幕:深入解析Spark內(nèi)核架構(gòu)設(shè)計與實現(xiàn)原理》以源碼為基礎(chǔ),深入分析Spark內(nèi)核的設(shè)計理念和架構(gòu)實現(xiàn),系統(tǒng)講解各個核心模塊的實現(xiàn),為性能調(diào)優(yōu)、二次開發(fā)和系統(tǒng)運維提供理論支持;本文最后以項目實戰(zhàn)的方式,系統(tǒng)講解生產(chǎn)環(huán)境下Spark應(yīng)用的開發(fā)、部署和性能調(diào)優(yōu)。

本書共分為9章:

第1章介紹了Spark的技術(shù)背景和特點,給出了架構(gòu)的整體概述,并簡單介紹了Spark的生態(tài)圈。

第2章介紹了Spark源碼如何獲取和學(xué)習(xí)環(huán)境如何搭建。

第3章是RDD的詳細介紹,介紹了RDD的定義和Spark對于DAG的實現(xiàn),最后通過RDD計算的詳細介紹,講解了Spark對于計算的實現(xiàn)原理。

第4章詳細介紹任務(wù)調(diào)度的實現(xiàn),包括如何通過DAG來生成計算任務(wù),最后通過“Word Count”來加深對這個實現(xiàn)過程的理解。

第5章介紹了Spark的運行模式,尤其是Standalone模式。Standalone是Spark自身實現(xiàn)的資源管理和調(diào)度的模塊,這里會詳細介紹它的實現(xiàn)原理。

第6章是Executor模塊的詳細講解。Executor是最終執(zhí)行計算任務(wù)的單元,這章將詳細介紹Executor的實現(xiàn)原理,包括Executor的分配、Task在Executor的詳細執(zhí)行過程。

第7章詳細介紹了Spark對于Shuffle的實現(xiàn)原理,包括基于Hash和基于排序的實現(xiàn)。除了詳細闡述基于Hash和排序的Shuffle寫和Shuffle讀之外,還介紹了Shuffle Pluggable框架,為需要實現(xiàn)特定Shuffle邏輯的讀者介紹其實現(xiàn)原理。

第8章詳細介紹了Spark的Storage模塊,在詳細介紹了模塊的架構(gòu)后詳細解析了不同存儲級別的實現(xiàn)細節(jié)。

第9章介紹了Spark在百度、騰訊和阿里等國內(nèi)互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用現(xiàn)狀。

章節(jié)目錄

序
前言
第1章 Spark簡介1
1.1Spark的技術(shù)背景1
1.2Spark的優(yōu)點2
1.3Spark架構(gòu)綜述4
1.4Spark核心組件概述5
1.4.1Spark Streaming5
1.4.2MLlib6
1.4.3Spark SQL7
1.4.4 GraphX8
1.5Spark的整體代碼結(jié)構(gòu)規(guī)模8
第2章 Spark學(xué)習(xí)環(huán)境的搭建9
2.1源碼的獲取與編譯9
2.1.1源碼獲取9
2.1.2源碼編譯10
2.2構(gòu)建Spark的源碼閱讀環(huán)境11
2.3小結(jié)15
第3章 RDD實現(xiàn)詳解16
3.1概述16
3.2什么是RDD17
3.2.1RDD的創(chuàng)建19
3.2.2RDD的轉(zhuǎn)換20
3.2.3 RDD的動作22
3.2.4RDD的緩存23
3.2.5RDD的檢查點24
3.3RDD的轉(zhuǎn)換和DAG的生成25
3.3.1RDD的依賴關(guān)系26
3.3.2DAG的生成30
3.3.3Word Count的RDD轉(zhuǎn)換和DAG劃分的邏輯視圖30
3.4RDD的計算33
3.4.1Task簡介33
3.4.2Task的執(zhí)行起點33
3.4.3緩存的處理35
3.4.4checkpoint的處理37
3.4.5RDD的計算邏輯39
3.5RDD的容錯機制39
3.6小結(jié)40
第4章 Scheduler 模塊詳解41
4.1模塊概述41
4.1.1整體架構(gòu)41
4.1.2Scheduler的實現(xiàn)概述43
4.2DAGScheduler實現(xiàn)詳解45
4.2.1DAGScheduler的創(chuàng)建46
4.2.2Job的提交48
4.2.3Stage的劃分49
4.2.4任務(wù)的生成54
4.3任務(wù)調(diào)度實現(xiàn)詳解57
4.3.1TaskScheduler的創(chuàng)建57
4.3.2Task的提交概述58
4.3.3任務(wù)調(diào)度具體實現(xiàn)61
4.3.4Task運算結(jié)果的處理65
4.4Word Count調(diào)度計算過程詳解72
4.5小結(jié)74
第5章 Deploy模塊詳解76
5.1 Spark運行模式概述76
5.1.1 local77
5.1.2Mesos78
5.1.3YARN82
5.2模塊整體架構(gòu)86
5.3消息傳遞機制詳解87
5.3.1Master和Worker87
5.3.2Master和Client89
5.3.3Client和Executor91
5.4集群的啟動92
5.4.1Master的啟動92
5.4.2Worker的啟動96
5.5集群容錯處理98
5.5.1Master 異常退出98
5.5.2Worker異常退出99
5.5.3Executor異常退出101
5.6Master HA實現(xiàn)詳解102
5.6.1Master啟動的選舉和數(shù)據(jù)恢復(fù)策略103
5.6.2集群啟動參數(shù)的配置105
5.6.3Curator Framework簡介 106
5.6.4ZooKeeperLeaderElectionAgent的實現(xiàn)109
5.7小結(jié)110
第6章 Executor模塊詳解112
6.1Standalone模式的Executor分配詳解113
6.1.1SchedulerBackend創(chuàng)建AppClient114
6.1.2AppClient向Master注冊Application116
6.1.3Master根據(jù)AppClient的提交選擇Worker119
6.1.4Worker根據(jù)Master的資源分配結(jié)果創(chuàng)建Executor121
6.2Task的執(zhí)行122
6.2.1依賴環(huán)境的創(chuàng)建和分發(fā)123
6.2.2任務(wù)執(zhí)行125
6.2.3任務(wù)結(jié)果的處理128
6.2.4Driver端的處理130
6.3 參數(shù)設(shè)置131
6.3.1 spark.executor.memory131
6.3.2日志相關(guān)132
6.3.3spark.executor.heartbeatInterval132
6.4小結(jié)133
第7章 Shuffle模塊詳解134
7.1Hash Based Shuffle Write135
7.1.1Basic Shuffle Writer實現(xiàn)解析136
7.1.2存在的問題138
7.1.3Shuffle Consolidate Writer139
7.1.4小結(jié)140
7.2Shuffle Pluggable 框架141
7.2.1org.apache.spark.shuffle.ShuffleManager141
7.2.2org.apache.spark.shuffle.ShuffleWriter143
7.2.3org.apache.spark.shuffle.ShuffleBlockManager143
7.2.4org.apache.spark.shuffle.ShuffleReader144
7.2.5如何開發(fā)自己的Shuffle機制144
7.3Sort Based Write144
7.4Shuffle Map Task運算結(jié)果的處理148
7.4.1Executor端的處理148
7.4.2Driver端的處理150
7.5Shuffle Read152
7.5.1整體流程152
7.5.2數(shù)據(jù)讀取策略的劃分155
7.5.3本地讀取156
7.5.4遠程讀取158
7.6性能調(diào)優(yōu)160
7.6.1spark.shuffle.manager160
7.6.2spark.shuffle.spill162
7.6.3spark.shuffle.memoryFraction和spark.shuffle.safetyFraction162
7.6.4spark.shuffle.sort.bypassMergeThreshold 163
7.6.5spark.shuffle.blockTransferService 163
7.6.6spark.shuffle.consolidateFiles 163
7.6.7spark.shuffle.compress和 spark.shuffle.spill.compress164
7.6.8spark.reducer.maxMbInFlight165
7.7小結(jié)165
第8章 Storage模塊詳解167
8.1模塊整體架構(gòu)167
8.1.1整體架構(gòu)167
8.1.2源碼組織結(jié)構(gòu)170
8.1.3Master 和Slave的消息傳遞詳解173
8.2存儲實現(xiàn)詳解181
8.2.1存儲級別181
8.2.2模塊類圖184
8.2.3org.apache.spark.storage.DiskStore實現(xiàn)詳解186
8.2.4org.apache.spark.storage.MemoryStore實現(xiàn)詳解188
8.2.5org.apache.spark.storage.TachyonStore實現(xiàn)詳解189
8.2.6Block存儲的實現(xiàn)190
8.3性能調(diào)優(yōu)194
8.3.1spark.local.dir194
8.3.2spark.executor.memory194
8.3.3spark.storage.memoryFraction194
8.3.4spark.streaming.blockInterval195
8.4小結(jié)195
第9章 企業(yè)應(yīng)用概述197
9.1Spark在百度197
9.1.1現(xiàn)狀197
9.1.2百度開放云BMR的Spark198
9.1.3在Spark中使用Tachyon199
9.2Spark在阿里200
9.3Spark在騰訊200
9.4小結(jié)201

使用說明

1、下載并解壓,得出pdf文件

2、如果打不開本文件,請務(wù)必下載pdf閱讀器

3、安裝后,在打開解壓得出的pdf文件

4、雙擊進行閱讀

收起介紹展開介紹
  • 下載地址
Spark技術(shù)內(nèi)幕:深入解析Spark內(nèi)核架構(gòu)設(shè)計與實現(xiàn)原理 張安站pdf掃描版

有問題? 點此報錯

發(fā)表評論

0條評論