首 頁
手機(jī)版

Spark核心技術(shù)與高級應(yīng)用 于俊 向海pdf掃描版

Spark核心技術(shù)與高級應(yīng)用是Spark領(lǐng)域少有的專注于核心原理與深度應(yīng)用的著作,由科大訊飛和百分點(diǎn)科技的4位大數(shù)據(jù)專家撰寫。全書不僅細(xì)致介紹了Spark的程序開發(fā)、編程模型、作業(yè)執(zhí)行解析等基礎(chǔ)知識,而且還深度講解了Spark SQL、Spark ML、Spark Streaming等大量內(nèi)部模塊和周邊模塊的原理與使用。除此之外,還從管理和性能優(yōu)化的角度對Spark進(jìn)行了深入探索,非常適合大數(shù)據(jù)相關(guān)從事者下載參考閱讀。

內(nèi)容介紹

Spark核心技術(shù)與高級應(yīng)用分為四大部分,共計(jì)20章:
基礎(chǔ)篇(第1~10章),詳細(xì)說明什么是Spark、Spark的重要擴(kuò)展、Spark的部署和運(yùn)行、Spark程序開發(fā)、Spark編程模型,以及Spark作業(yè)執(zhí)行解析。通過閱讀本篇,讀者可以構(gòu)建更加清晰的Spark基礎(chǔ)知識體系,進(jìn)一步加深對大數(shù)據(jù)核心技術(shù)的理解。
實(shí)戰(zhàn)篇(第11~14章),本書重點(diǎn)篇章,重點(diǎn)講解Spark SQL與DataFrame、Spark Streaming、Spark MLlib與Spark ML、GraphX,以及基于以上內(nèi)容在大數(shù)據(jù)分析、系統(tǒng)資源統(tǒng)計(jì)、LR模型、二級鄰居關(guān)系圖獲取方面的實(shí)例。通過體察本篇的內(nèi)容,讀者可以掌握如何在實(shí)踐中應(yīng)用Spark,優(yōu)化自身的應(yīng)用場景,完善相應(yīng)的解決方案。
高級篇(第15~18章),深入講解Spark調(diào)度管理、存儲管理、監(jiān)控管理、性能調(diào)優(yōu)。本篇的內(nèi)容,為合理利用資源、有效進(jìn)行資源監(jiān)控、保障運(yùn)行環(huán)境的穩(wěn)定、平臺性能調(diào)優(yōu)、推進(jìn)企業(yè)級的大數(shù)據(jù)平臺管理提供了參考依據(jù)。
擴(kuò)展篇(第19~20章),介紹Jobserver和Tachyon在Spark上的使用情況。通過本篇,延續(xù)基礎(chǔ)、實(shí)戰(zhàn)、高級等環(huán)節(jié),并進(jìn)一步擴(kuò)展,更好地管理好Job、更有效地利用內(nèi)存,為讀者拓展出更深入、更全面的思路。

Spark核心技術(shù)與高級應(yīng)用章節(jié)目錄

前 言
基 礎(chǔ) 篇
第1章 Spark簡介 2
1.1 什么是Spark 2
1.1.1 概述 3
1.1.2 Spark大數(shù)據(jù)處理框架 3
1.1.3 Spark的特點(diǎn) 4
1.1.4 Spark應(yīng)用場景 5
1.2 Spark的重要擴(kuò)展 6
1.2.1 Spark SQL和DataFrame 6
1.2.2 Spark Streaming 7
1.2.3 Spark MLlib和ML 8
1.2.4 GraphX 8
1.2.5 SparkR 9
1.3 本章小結(jié) 10
第2章 Spark部署和運(yùn)行 11
2.1 部署準(zhǔn)備 11
2.1.1 下載Spark 11
2.1.2 編譯Spark版本 12
2.1.3 集群部署概述 14
2.2 Spark部署 15
2.2.1 Local模式部署 16
2.2.2 Standalone模式部署 16
2.2.3 YARN模式部署 18
2.3 運(yùn)行Spark應(yīng)用程序 19
2.3.1 Local模式運(yùn)行Spark應(yīng)用程序 19
2.3.2 Standalone模式運(yùn)行Spark應(yīng)用程序 20
2.3.3 YARN模式運(yùn)行Spark 22
2.3.4 應(yīng)用程序提交和參數(shù)傳遞 23
2.4 本章小結(jié) 26
第3章 Spark程序開發(fā) 27
3.1 使用Spark Shell編寫程序 27
3.1.1 啟動Spark Shell 28
3.1.2 加載text文件 28
3.1.3 簡單RDD操作 28
3.1.4 簡單RDD操作應(yīng)用 29
3.1.5 RDD緩存 30
3.2 構(gòu)建Spark的開發(fā)環(huán)境 30
3.2.1 準(zhǔn)備環(huán)境 30
3.2.2 構(gòu)建Spark的Eclipse開發(fā)環(huán)境 31
3.2.3 構(gòu)建Spark的IntelliJ IDEA開發(fā)環(huán)境 32
3.3 獨(dú)立應(yīng)用程序編程 40
3.3.1 創(chuàng)建SparkContext對象 40
3.3.2 編寫簡單應(yīng)用程序 40
3.3.3 編譯并提交應(yīng)用程序 40
3.4 本章小結(jié) 43
第4章 編程模型 44
4.1 RDD介紹 44
4.1.1 RDD特征 45
4.1.2 RDD依賴 45
4.2 創(chuàng)建RDD 47
4.2.1 集合(數(shù)組)創(chuàng)建RDD 47
4.2.2 存儲創(chuàng)建RDD 48
4.3 RDD操作 49
4.3.1 轉(zhuǎn)換操作 50
4.3.2 執(zhí)行操作 52
4.3.3 控制操作 54
4.4 共享變量 56
4.4.1 廣播變量 57
4.4.2 累加器 57
4.5 本章小結(jié) 58
第5章 作業(yè)執(zhí)行解析 59
5.1 基本概念 59
5.1.1 Spark組件 59
5.1.2 RDD視圖 60
5.1.3 DAG圖 61
5.2 作業(yè)執(zhí)行流程 62
5.2.1 基于Standalone模式的Spark架構(gòu) 62
5.2.2 基于YARN模式的Spark架構(gòu) 64
5.2.3 作業(yè)事件流和調(diào)度分析 65
5.3 運(yùn)行時(shí)環(huán)境 67
5.3.1 構(gòu)建應(yīng)用程序運(yùn)行時(shí)環(huán)境 68
5.3.2 應(yīng)用程序轉(zhuǎn)換成DAG 68
5.3.3 調(diào)度執(zhí)行DAG圖 70
5.4 應(yīng)用程序運(yùn)行實(shí)例 71
5.5 本章小結(jié) 72
第6章 Spark SQL與DataFrame 73
6.1 概述 73
6.1.1 Spark SQL 發(fā)展 74
6.1.2 Spark SQL 架構(gòu) 74
6.1.3 Spark SQL 特點(diǎn) 76
6.1.4 Spark SQL 性能 76
6.2 DataFrame 77
6.2.1 DataFrame和RDD的區(qū)別 78
6.2.2 創(chuàng)建DataFrame 78
6.2.3 DataFrame 操作 80
6.2.4 RDD轉(zhuǎn)化為DataFrame 82
6.3 數(shù)據(jù)源 84
6.3.1 加載保存操作 84
6.3.2 Parquet 文件 85
6.3.3 JSON 數(shù)據(jù)集 88
6.3.4 Hive 表 89
6.3.5 通過JDBC 連接數(shù)據(jù)庫 91
6.3.6 多數(shù)據(jù)源整合查詢的小例子 92
6.4 分布式的SQL Engine 93
6.4.1 運(yùn)行Thrift JDBC/ODBC 服務(wù) 93
6.4.2 運(yùn)行 Spark SQL CLI 94
6.5 性能調(diào)優(yōu) 94
6.5.1 緩存數(shù)據(jù) 94
6.5.2 調(diào)優(yōu)參數(shù) 94
6.5.3 增加并行度 95
6.6 數(shù)據(jù)類型 95
6.7 本章小結(jié) 96
第7章 深入了解Spark Streaming 97
7.1 基礎(chǔ)知識 97
7.1.1 Spark Streaming工作原理 98
7.1.2 DStream編程模型 99
7.2 DStream操作 100
7.2.1 Input DStream 100
7.2.2 DStream轉(zhuǎn)換操作 102
7.2.3 DStream狀態(tài)操作 104
7.2.4 DStream輸出操作 106
7.2.5 緩存及持久化 107
7.2.6 檢查點(diǎn) 108
7.3 性能調(diào)優(yōu) 109
7.3.1 優(yōu)化運(yùn)行時(shí)間 109
7.3.2 設(shè)置合適的批次大小 111
7.3.3 優(yōu)化內(nèi)存使用 111
7.4 容錯處理 112
7.4.1 文件輸入源 112
7.4.2 基于Receiver的輸入源 112
7.4.3 輸出操作 113
7.5 一個例子 113
7.6 本章小結(jié) 115
第8章 Spark MLlib與機(jī)器學(xué)習(xí) 116
8.1 機(jī)器學(xué)習(xí)概述 116
8.1.1 機(jī)器學(xué)習(xí)分類 117
8.1.2 機(jī)器學(xué)習(xí)算法 117
8.2 Spark MLlib介紹 118
8.3 Spark MLlib庫 119
8.3.1 MLlib數(shù)據(jù)類型 120
8.3.2 MLlib的算法庫與實(shí)例 123
8.4 ML庫 142
8.4.1 主要概念 143
8.4.2 算法庫與實(shí)例 145
8.5 本章小結(jié) 147
第9章 GraphX圖計(jì)算框架與應(yīng)用 148
9.1 概述 148
9.2 Spark GraphX架構(gòu) 149
9.3 GraphX編程 150
9.3.1 GraphX的圖操作 152
9.3.2 常用圖算法 161
9.4 應(yīng)用場景 164
9.4.1 圖譜體檢平臺 164
9.4.2 多圖合并工具 165
9.4.3 能量傳播模型 165
9.5 本章小結(jié) 166
第10章 SparkR(R on Spark) 167
10.1 概述 167
10.1.1 SparkR介紹 168
10.1.2 SparkR的工作原理 168
10.1.3 R語言介紹 169
10.1.4 R語言與其他語言的通信 170
10.2 安裝SparkR 170
10.2.1 安裝R語言與rJava 171
10.2.2 SparkR的安裝 171
10.3 SparkR的運(yùn)行與應(yīng)用示例 172
10.3.1 運(yùn)行SparkR 172
10.3.2 SparkR示例程序 173
10.3.3 R的DataFrame操作方法 175
10.3.4 SparkR的DataFrame 183
10.4 本章小結(jié) 186
實(shí) 戰(zhàn) 篇
第11章 大數(shù)據(jù)分析系統(tǒng) 188
11.1 背景 188
11.2 數(shù)據(jù)格式 189
11.3 應(yīng)用架構(gòu) 189
11.4 業(yè)務(wù)實(shí)現(xiàn) 190
11.4.1 流量、性能的實(shí)時(shí)分析 190
11.4.2 流量、性能的統(tǒng)計(jì)分析 192
11.4.3 業(yè)務(wù)關(guān)聯(lián)分析 193
11.4.4 離線報(bào)表分析 195
11.5 本章小結(jié) 199
第12章 系統(tǒng)資源分析平臺 200
12.1 業(yè)務(wù)背景 200
12.1.1 業(yè)務(wù)介紹 201
12.1.2 實(shí)現(xiàn)目標(biāo) 201
12.2 應(yīng)用架構(gòu) 201
12.2.1 總體架構(gòu) 202
12.2.2 模塊架構(gòu) 202
12.3 代碼實(shí)現(xiàn) 203
12.3.1 Kafka集群 203
12.3.2 數(shù)據(jù)采集 207
12.3.3 離線數(shù)據(jù)處理 207
12.3.4 數(shù)據(jù)表現(xiàn) 207
12.4 結(jié)果驗(yàn)證 213
12.5 本章小結(jié) 214
第13章 在Spark上訓(xùn)練LR模型 215
13.1 邏輯回歸簡介 215
13.2 數(shù)據(jù)格式 216
13.3 MLlib中LR模型源碼介紹 217
13.3.1 邏輯回歸分類器 217
13.3.2 優(yōu)化方法 219
13.3.3 算法效果評估 221
13.4 實(shí)現(xiàn)案例 223
13.4.1 訓(xùn)練模型 223
13.4.2 計(jì)算AUC 223
13.5 本章小結(jié) 224
第14章 獲取二級鄰居關(guān)系圖 225
14.1 理解PageRank 225
14.1.1 初步理解PageRank 225
14.1.2 深入理解PageRank 227
14.2 PageRank算法基于Spark的實(shí)現(xiàn) 228
14.3 基于PageRank的二級鄰居獲取 232
14.3.1 系統(tǒng)設(shè)計(jì) 232
14.3.2 系統(tǒng)實(shí)現(xiàn) 232
14.3.3 代碼提交命令 235
14.4 本章小結(jié) 236
高 級 篇
第15章 調(diào)度管理 238
15.1 調(diào)度概述 238
15.1.1 應(yīng)用程序間的調(diào)度 239
15.1.2 應(yīng)用程序中的調(diào)度 241
15.2 調(diào)度器 242
15.2.1 調(diào)度池 243
15.2.2 Job調(diào)度流程 243

15.2.3 調(diào)度模塊 245
15.2.4 Job的生與死 249
15.3 本章小結(jié) 253
第16章 存儲管理 254
16.1 硬件環(huán)境 254
16.1.1 存儲系統(tǒng) 254
16.1.2 本地磁盤 255
16.1.3 內(nèi)存 255
16.1.4 網(wǎng)絡(luò)和CPU 255
16.2 Storage模塊 256
16.2.1 通信層 256
16.2.2 存儲層 258
16.3 Shuff?le數(shù)據(jù)持久化 261
16.4 本章小結(jié) 263
第17章 監(jiān)控管理 264
17.1 Web界面 264
17.2 Spark UI歷史監(jiān)控 266
17.2.1 使用spark-server的原因 266
17.2.2 配置spark-server 266
17.3 監(jiān)控工具 269
17.3.1 Metrics工具 269
17.3.2 其他工具 271
17.4 本章小結(jié) 272
第18章 性能調(diào)優(yōu) 273
18.1 文件的優(yōu)化 273
18.1.1 輸入采用大文件 273
18.1.2 lzo壓縮處理 274
18.1.3 Cache壓縮 275
18.2 序列化數(shù)據(jù) 277
18.3 緩存 278
18.4 共享變量 278
18.4.1 廣播變量 279
18.4.2 累加器 279
18.5 流水線優(yōu)化 280
18.6 本章小結(jié) 280
擴(kuò) 展 篇
第19章 Spark-jobserver實(shí)踐 282
19.1 Spark-jobserver是什么 282
19.2 編譯、部署及體驗(yàn) 283
19.2.1 編譯及部署 283
19.2.2 體驗(yàn) 286
19.3 Spark-jobserver程序?qū)崙?zhàn) 288
19.3.1 創(chuàng)建步驟 288
19.3.2 一些常見的問題 289
19.4 使用場景:用戶屬性分布計(jì)算 289
19.4.1 項(xiàng)目需求 290
19.4.2 計(jì)算架構(gòu) 290
19.4.3 使用NamedRDD 291
19.5 本章小結(jié) 291
第20章 Spark Tachyon實(shí)戰(zhàn) 292
20.1 Tachyon文件系統(tǒng) 292
20.1.1 文件系統(tǒng)概述 293
20.1.2 HDFS和Tachyon 294
20.1.3 Tachyon設(shè)計(jì)原理 294
20.1.4 Tachyon特性 295
20.2 Tachyon入門 295
20.2.1 Tachyon 部署 295
20.2.2 Tachyon API 297
20.2.3 在Spark上使用Tachyon 298
20.3  容錯機(jī)制 299
20.4 本章小結(jié) 300

使用說明

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

2、如果打不開本文件,請務(wù)必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進(jìn)行閱讀

收起介紹展開介紹
  • 下載地址
Spark核心技術(shù)與高級應(yīng)用 于俊 向海pdf掃描版

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

發(fā)表評論

0條評論