首 頁(yè)
手機(jī)版

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

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

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

內(nèi)容介紹

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

本書共分為9章:

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

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

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

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

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

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

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

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

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

章節(jié)目錄

序
前言
第1章 Spark簡(jiǎn)介1
1.1Spark的技術(shù)背景1
1.2Spark的優(yōu)點(diǎn)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實(shí)現(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的動(dòng)作22
3.2.4RDD的緩存23
3.2.5RDD的檢查點(diǎn)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的計(jì)算33
3.4.1Task簡(jiǎn)介33
3.4.2Task的執(zhí)行起點(diǎn)33
3.4.3緩存的處理35
3.4.4checkpoint的處理37
3.4.5RDD的計(jì)算邏輯39
3.5RDD的容錯(cuò)機(jī)制39
3.6小結(jié)40
第4章 Scheduler 模塊詳解41
4.1模塊概述41
4.1.1整體架構(gòu)41
4.1.2Scheduler的實(shí)現(xiàn)概述43
4.2DAGScheduler實(shí)現(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)度實(shí)現(xiàn)詳解57
4.3.1TaskScheduler的創(chuàng)建57
4.3.2Task的提交概述58
4.3.3任務(wù)調(diào)度具體實(shí)現(xiàn)61
4.3.4Task運(yùn)算結(jié)果的處理65
4.4Word Count調(diào)度計(jì)算過程詳解72
4.5小結(jié)74
第5章 Deploy模塊詳解76
5.1 Spark運(yùn)行模式概述76
5.1.1 local77
5.1.2Mesos78
5.1.3YARN82
5.2模塊整體架構(gòu)86
5.3消息傳遞機(jī)制詳解87
5.3.1Master和Worker87
5.3.2Master和Client89
5.3.3Client和Executor91
5.4集群的啟動(dòng)92
5.4.1Master的啟動(dòng)92
5.4.2Worker的啟動(dòng)96
5.5集群容錯(cuò)處理98
5.5.1Master 異常退出98
5.5.2Worker異常退出99
5.5.3Executor異常退出101
5.6Master HA實(shí)現(xiàn)詳解102
5.6.1Master啟動(dòng)的選舉和數(shù)據(jù)恢復(fù)策略103
5.6.2集群?jiǎn)?dòng)參數(shù)的配置105
5.6.3Curator Framework簡(jiǎn)介 106
5.6.4ZooKeeperLeaderElectionAgent的實(shí)現(xiàn)109
5.7小結(jié)110
第6章 Executor模塊詳解112
6.1Standalone模式的Executor分配詳解113
6.1.1SchedulerBackend創(chuàng)建AppClient114
6.1.2AppClient向Master注冊(cè)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實(shí)現(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機(jī)制144
7.3Sort Based Write144
7.4Shuffle Map Task運(yùn)算結(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遠(yuǎn)程讀取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存儲(chǔ)實(shí)現(xiàn)詳解181
8.2.1存儲(chǔ)級(jí)別181
8.2.2模塊類圖184
8.2.3org.apache.spark.storage.DiskStore實(shí)現(xiàn)詳解186
8.2.4org.apache.spark.storage.MemoryStore實(shí)現(xiàn)詳解188
8.2.5org.apache.spark.storage.TachyonStore實(shí)現(xiàn)詳解189
8.2.6Block存儲(chǔ)的實(shí)現(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、如果打不開本文件,請(qǐng)務(wù)必下載pdf閱讀器

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

4、雙擊進(jìn)行閱讀

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

有問題? 點(diǎn)此報(bào)錯(cuò)

發(fā)表評(píng)論

0條評(píng)論

熱門推薦