注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)計算機科學(xué)理論與基礎(chǔ)知識Spark 3.x大數(shù)據(jù)分析實戰(zhàn)(視頻教學(xué)版)

Spark 3.x大數(shù)據(jù)分析實戰(zhàn)(視頻教學(xué)版)

Spark 3.x大數(shù)據(jù)分析實戰(zhàn)(視頻教學(xué)版)

定 價:¥89.00

作 者: 張偉洋
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302614500 出版時間: 2022-09-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書基于Spark 3.2.x版本,從Spark核心編程語言Scala講起,涵蓋了當(dāng)前整個Spark生態(tài)系統(tǒng)主流的大數(shù)據(jù)開發(fā)技術(shù)。全書共9章,第1章講解了Scala語言的基礎(chǔ)知識,包括IDEA工具的使用等;第2章講解了Spark的主要組件、集群架構(gòu)原理、集群環(huán)境搭建以及Spark應(yīng)用程序的提交和運行;第3~9章講解了離線計算框架Spark RDD、Spark SQL和實時計算框架Kafka、Spark Streaming、Structured Streaming以及圖計算框架GraphX等的基礎(chǔ)知識、架構(gòu)原理,同時包括常用Shell命令、API操作、內(nèi)核源碼剖析,并通過多個實際案例講解各個框架的具體應(yīng)用以及與Hadoop生態(tài)系統(tǒng)框架Hive、HBase、Kafka的整合操作。 本書通俗易懂,案例豐富,注重實操,適合Spark新手和大數(shù)據(jù)開發(fā)人員閱讀,也可作為培訓(xùn)機構(gòu)和高校大數(shù)據(jù)及相關(guān)專業(yè)的教學(xué)用書。

作者簡介

  張偉洋,大數(shù)據(jù)領(lǐng)域資深專家,擁有多年互聯(lián)網(wǎng)公司軟件研發(fā)經(jīng)驗,曾在互聯(lián)網(wǎng)旅游公司擔(dān)任軟件研發(fā)事業(yè)部經(jīng)理。先后多次為中國海洋大學(xué)、曲阜師范大學(xué)、青島理工大學(xué)等高校舉行大數(shù)據(jù)專題講座,對Hadoop及周邊大數(shù)據(jù)框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有深入的研究,公眾號“奮斗在IT” 的創(chuàng)辦人。已出版《Hadoop大數(shù)據(jù)技術(shù)開發(fā)實戰(zhàn)》《Flink大數(shù)據(jù)分析實戰(zhàn)》等圖書。

圖書目錄

第1章  Spark開發(fā)準(zhǔn)備——Scala基礎(chǔ) 1
1.1  什么是Scala 1
1.2  安裝Scala 1
1.2.1  在Windows中安裝Scala 2
1.2.2  在CentOS 7中安裝Scala 3
1.3  Scala基礎(chǔ) 3
1.3.1  變量聲明 4
1.3.2  數(shù)據(jù)類型 5
1.3.3  表達(dá)式 6
1.3.4  循環(huán) 7
1.3.5  方法與函數(shù) 9
1.4  集合 12
1.4.1  數(shù)組 12
1.4.2  List 14
1.4.3  Map映射 15
1.4.4  元組 17
1.4.5  Set 18
1.5  類和對象 19
1.5.1  類的定義 19
1.5.2  單例對象 20
1.5.3  伴生對象 20
1.5.4  get和set方法 20
1.5.5  構(gòu)造器 23
1.6  抽象類和特質(zhì) 25
1.6.1  抽象類 25
1.6.2  特質(zhì) 26
1.7  使用Eclipse創(chuàng)建Scala項目 28
1.7.1  安裝Scala for Eclipse IDE 28
1.7.2  創(chuàng)建Scala項目 29
1.8  使用IntelliJ IDEA創(chuàng)建Scala項目 29
1.8.1  在IDEA中安裝Scala插件 30
1.8.2  創(chuàng)建Scala項目 31
1.9  動手練習(xí) 32
第2章  初識Spark 33
2.1  大數(shù)據(jù)開發(fā)的總體架構(gòu) 33
2.2  什么是Spark 34
2.3  Spark的主要組件 35
2.4  Spark運行架構(gòu) 37
2.4.1  YARN集群架構(gòu) 37
2.4.2  Spark Standalone架構(gòu) 40
2.4.3  Spark On YARN架構(gòu) 42
2.5  Spark集群搭建與測試 44
2.5.1  Spark Standalone模式的集群搭建 44
2.5.2  Spark On YARN模式的集群搭建 46
2.5.3  Spark HA的搭建 47
2.6  Spark應(yīng)用程序的提交 51
2.7  Spark Shell的使用 53
2.8  動手練習(xí) 55
第3章  Spark RDD彈性分布式數(shù)據(jù)集 56
3.1  什么是RDD 56
3.2  創(chuàng)建RDD 57
3.2.1  從對象集合創(chuàng)建RDD 57
3.2.2  從外部存儲創(chuàng)建RDD 57
3.3  RDD的算子 58
3.3.1  轉(zhuǎn)化算子 58
3.3.2  行動算子 65
3.4  RDD的分區(qū) 66
3.4.1  分區(qū)數(shù)量 66
3.4.2  自定義分區(qū)器 74
3.5  RDD的依賴 79
3.5.1  窄依賴 79
3.5.2  寬依賴 79
3.5.3  Stage劃分 80
3.6  RDD的持久化 81
3.6.1  存儲級別 82
3.6.2  查看緩存 84
3.7  RDD的檢查點 86
3.8  共享變量 87
3.8.1  廣播變量 87
3.8.2  累加器 89
3.9  案例分析:Spark RDD實現(xiàn)單詞計數(shù) 90
3.9.1  新建Maven管理的Spark項目 90
3.9.2  編寫WordCount程序 92
3.9.3  提交程序到集群 94
3.10  案例分析:Spark RDD實現(xiàn)分組求TopN 96
3.11  案例分析:Spark RDD實現(xiàn)二次排序 100
3.12  案例分析:Spark RDD計算成績平均分 103
3.13  案例分析:Spark RDD倒排索引統(tǒng)計 每日新增用戶 105
3.14  案例分析:Spark RDD讀寫HBase 109
3.14.1  讀取HBase表數(shù)據(jù) 109
3.14.2  寫入HBase表數(shù)據(jù) 111
3.15  案例分析:Spark RDD數(shù)據(jù)傾斜問題的解決 119
3.15.1  數(shù)據(jù)傾斜的常用解決方法 120
3.15.2  使用隨機key進行雙重聚合 121
3.15.3  WebUI查看Spark歷史作業(yè) 124
3.16  動手練習(xí) 125
第4章  Spark內(nèi)核源碼分析 127
4.1  Spark集群啟動原理分析 127
4.2  Spark應(yīng)用程序提交原理分析 136
4.3  Spark作業(yè)工作原理分析 146
4.3.1  MapReduce的工作原理 147
4.3.2  Spark作業(yè)的工作原理 149
4.4  Spark檢查點原理分析 160
第5章  Spark SQL結(jié)構(gòu)化數(shù)據(jù)處理引擎 164
5.1  什么是Spark SQL 164
5.2  DataFrame和Dataset 165
5.3  Spark SQL的基本使用 166
5.4  Spark SQL數(shù)據(jù)源 168
5.4.1  基本操作 168
5.4.2  Parquet文件 172
5.4.3  JSON數(shù)據(jù)集 175
5.4.4  Hive表 176
5.4.5  JDBC 178
5.5  Spark SQL內(nèi)置函數(shù) 179
5.5.1  自定義函數(shù) 181
5.5.2  自定義聚合函數(shù) 182
5.5.3  開窗函數(shù) 184
5.6  案例分析:使用Spark SQL實現(xiàn)單詞計數(shù) 186
5.7  案例分析:Spark SQL與Hive的整合 191
5.7.1  整合Hive的步驟 191
5.7.2  操作Hive的幾種方式 193
5.8  案例分析:Spark SQL讀寫MySQL 195
5.9  案例分析:Spark SQL每日UV統(tǒng)計 199
5.10  案例分析:Spark SQL熱點搜索詞統(tǒng)計 201
5.11  綜合案例:Spark SQL智慧交通數(shù)據(jù)分析 204
5.11.1  項目介紹 204
5.11.2  數(shù)據(jù)準(zhǔn)備 205
5.11.3  統(tǒng)計正常卡口數(shù)量 208
5.11.4  統(tǒng)計車流量排名前3的卡口號 208
5.11.5  統(tǒng)計車輛高速通過的卡口Top5 209
5.11.6  統(tǒng)計每個卡口通過速度最快的前3輛車 212
5.11.7  車輛軌跡分析 213
5.12  動手練習(xí) 214
第6章  Kafka分布式消息系統(tǒng) 215
6.1  什么是Kafka 215
6.2  Kafka架構(gòu) 216
6.3  主題與分區(qū) 217
6.4  分區(qū)副本 218
6.5  消費者組 220
6.6  數(shù)據(jù)存儲機制 221
6.7  集群環(huán)境搭建 223
6.8  命令行操作 225
6.8.1  創(chuàng)建主題 225
6.8.2  查詢主題 225
6.8.3  創(chuàng)建生產(chǎn)者 226
6.8.4  創(chuàng)建消費者 227
6.9  Java API操作 227
6.9.1  創(chuàng)建Java工程 227
6.9.2  創(chuàng)建生產(chǎn)者 228
6.9.3  創(chuàng)建消費者 230
6.9.4  運行程序 231
6.10  案例分析:Kafka生產(chǎn)者攔截器 233
6.11  動手練習(xí) 239
第7章  Spark Streaming實時流處理引擎 240
7.1  什么是Spark Streaming 240
7.2  Spark Streaming工作原理 241
7.3  輸入DStream和Receiver 242
7.4  第一個Spark Streaming程序 243
7.5  Spark Streaming數(shù)據(jù)源 244
7.5.1  基本數(shù)據(jù)源 244
7.5.2  高級數(shù)據(jù)源 246
7.5.3  自定義數(shù)據(jù)源 247
7.6  DStream操作 250
7.6.1  無狀態(tài)操作 251
7.6.2  狀態(tài)操作 252
7.6.3  窗口操作 253
7.6.4  輸出操作 255
7.6.5  緩存及持久化 256
7.6.6  檢查點 257
7.7  案例分析:Spark Streaming按批次累加單詞數(shù)量 259
7.8  案例分析:Spark Streaming整合Kafka計算實時單詞數(shù)量 262
7.9  案例分析:Spark Streaming實時用戶日志黑名單過濾 268
7.10  綜合案例:微博用戶行為分析 271
7.11  動手練習(xí) 273
第8章  Structured Streaming結(jié)構(gòu)化流處理引擎 274
8.1  什么是Structured Streaming 274
8.2  Structured Streaming單詞計數(shù) 275
8.3  Structured Streaming編程模型 277
8.4  Structured Streaming查詢輸出 279
8.5  Structured Streaming窗口操作 282
8.5.1  事件時間 282
8.5.2  窗口聚合單詞計數(shù) 283
8.5.3  延遲數(shù)據(jù)和水印 286
8.6  案例分析:Structured Streaming整合Kafka實現(xiàn)單詞計數(shù) 290
8.7  動手練習(xí) 293
第9章  GraphX圖計算引擎 294
9.1  什么是GraphX 294
9.2  第一個GraphX程序 295
9.3  GraphX數(shù)據(jù)結(jié)構(gòu) 298
9.4  GraphX圖操作 298
9.4.1  基本操作 298
9.4.2  屬性操作 301
9.4.3  結(jié)構(gòu)操作 302
9.4.4  連接操作 304
9.4.5  聚合操作 307
9.5  案例分析:使用GraphX計算社交網(wǎng)絡(luò)中粉絲的平均年齡 308
9.6  動手練習(xí) 310
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號