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

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

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

定 價(jià):¥89.00

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

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

  張偉洋,大數(shù)據(jù)領(lǐng)域資深專家,擁有多年互聯(lián)網(wǎng)公司軟件研發(fā)經(jīng)驗(yàn),曾在互聯(lián)網(wǎng)旅游公司擔(dān)任軟件研發(fā)事業(yè)部經(jīng)理。先后多次為中國(guó)海洋大學(xué)、曲阜師范大學(xué)、青島理工大學(xué)等高校舉行大數(shù)據(jù)專題講座,對(duì)Hadoop及周邊大數(shù)據(jù)框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有深入的研究,公眾號(hào)“奮斗在IT” 的創(chuàng)辦人。已出版《Hadoop大數(shù)據(jù)技術(shù)開發(fā)實(shí)戰(zhàn)》《Flink大數(shù)據(jù)分析實(shí)戰(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  類和對(duì)象 19
1.5.1  類的定義 19
1.5.2  單例對(duì)象 20
1.5.3  伴生對(duì)象 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項(xiàng)目 28
1.7.1  安裝Scala for Eclipse IDE 28
1.7.2  創(chuàng)建Scala項(xiàng)目 29
1.8  使用IntelliJ IDEA創(chuàng)建Scala項(xiàng)目 29
1.8.1  在IDEA中安裝Scala插件 30
1.8.2  創(chuàng)建Scala項(xiàng)目 31
1.9  動(dòng)手練習(xí) 32
第2章  初識(shí)Spark 33
2.1  大數(shù)據(jù)開發(fā)的總體架構(gòu) 33
2.2  什么是Spark 34
2.3  Spark的主要組件 35
2.4  Spark運(yùn)行架構(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集群搭建與測(cè)試 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  動(dòng)手練習(xí) 55
第3章  Spark RDD彈性分布式數(shù)據(jù)集 56
3.1  什么是RDD 56
3.2  創(chuàng)建RDD 57
3.2.1  從對(duì)象集合創(chuàng)建RDD 57
3.2.2  從外部存儲(chǔ)創(chuàng)建RDD 57
3.3  RDD的算子 58
3.3.1  轉(zhuǎn)化算子 58
3.3.2  行動(dòng)算子 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  存儲(chǔ)級(jí)別 82
3.6.2  查看緩存 84
3.7  RDD的檢查點(diǎn) 86
3.8  共享變量 87
3.8.1  廣播變量 87
3.8.2  累加器 89
3.9  案例分析:Spark RDD實(shí)現(xiàn)單詞計(jì)數(shù) 90
3.9.1  新建Maven管理的Spark項(xiàng)目 90
3.9.2  編寫WordCount程序 92
3.9.3  提交程序到集群 94
3.10  案例分析:Spark RDD實(shí)現(xiàn)分組求TopN 96
3.11  案例分析:Spark RDD實(shí)現(xiàn)二次排序 100
3.12  案例分析:Spark RDD計(jì)算成績(jī)平均分 103
3.13  案例分析:Spark RDD倒排索引統(tǒng)計(jì) 每日新增用戶 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  使用隨機(jī)key進(jìn)行雙重聚合 121
3.15.3  WebUI查看Spark歷史作業(yè) 124
3.16  動(dòng)手練習(xí) 125
第4章  Spark內(nèi)核源碼分析 127
4.1  Spark集群?jiǎn)?dòng)原理分析 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檢查點(diǎn)原理分析 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實(shí)現(xiàn)單詞計(jì)數(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)計(jì) 199
5.10  案例分析:Spark SQL熱點(diǎn)搜索詞統(tǒng)計(jì) 201
5.11  綜合案例:Spark SQL智慧交通數(shù)據(jù)分析 204
5.11.1  項(xiàng)目介紹 204
5.11.2  數(shù)據(jù)準(zhǔn)備 205
5.11.3  統(tǒng)計(jì)正常卡口數(shù)量 208
5.11.4  統(tǒng)計(jì)車流量排名前3的卡口號(hào) 208
5.11.5  統(tǒng)計(jì)車輛高速通過的卡口Top5 209
5.11.6  統(tǒng)計(jì)每個(gè)卡口通過速度最快的前3輛車 212
5.11.7  車輛軌跡分析 213
5.12  動(dòng)手練習(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  消費(fèi)者組 220
6.6  數(shù)據(jù)存儲(chǔ)機(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)建消費(fèi)者 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)建消費(fèi)者 230
6.9.4  運(yùn)行程序 231
6.10  案例分析:Kafka生產(chǎn)者攔截器 233
6.11  動(dòng)手練習(xí) 239
第7章  Spark Streaming實(shí)時(shí)流處理引擎 240
7.1  什么是Spark Streaming 240
7.2  Spark Streaming工作原理 241
7.3  輸入DStream和Receiver 242
7.4  第一個(gè)Spark Streaming程序 243
7.5  Spark Streaming數(shù)據(jù)源 244
7.5.1  基本數(shù)據(jù)源 244
7.5.2  高級(jí)數(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  檢查點(diǎn) 257
7.7  案例分析:Spark Streaming按批次累加單詞數(shù)量 259
7.8  案例分析:Spark Streaming整合Kafka計(jì)算實(shí)時(shí)單詞數(shù)量 262
7.9  案例分析:Spark Streaming實(shí)時(shí)用戶日志黑名單過濾 268
7.10  綜合案例:微博用戶行為分析 271
7.11  動(dòng)手練習(xí) 273
第8章  Structured Streaming結(jié)構(gòu)化流處理引擎 274
8.1  什么是Structured Streaming 274
8.2  Structured Streaming單詞計(jì)數(shù) 275
8.3  Structured Streaming編程模型 277
8.4  Structured Streaming查詢輸出 279
8.5  Structured Streaming窗口操作 282
8.5.1  事件時(shí)間 282
8.5.2  窗口聚合單詞計(jì)數(shù) 283
8.5.3  延遲數(shù)據(jù)和水印 286
8.6  案例分析:Structured Streaming整合Kafka實(shí)現(xiàn)單詞計(jì)數(shù) 290
8.7  動(dòng)手練習(xí) 293
第9章  GraphX圖計(jì)算引擎 294
9.1  什么是GraphX 294
9.2  第一個(gè)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計(jì)算社交網(wǎng)絡(luò)中粉絲的平均年齡 308
9.6  動(dòng)手練習(xí) 310
 

本目錄推薦

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