Spark Streaming實(shí)時(shí)流式大數(shù)據(jù)處理實(shí)戰(zhàn)
定 價(jià):69 元
- 作者:肖力濤
- 出版時(shí)間:2019/4/1
- ISBN:9787111624325
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:IV.TP274
- 頁碼:0
- 紙張:
- 版次:1
- 開本:16K
本書以翔實(shí)的原理講解和充實(shí)的實(shí)戰(zhàn)代碼剖析,全面闡述了Spark Streaming流式處理平臺(tái),便于讀者能夠從入門開始了解搭建Spark平臺(tái),在此基礎(chǔ)上學(xué)習(xí)流式處理框架,并動(dòng)手實(shí)踐,進(jìn)行Spark Streaming流式大數(shù)據(jù)處理,包括與主流平臺(tái)框架,如Kafka、Redis和ZooKeeper的對(duì)接應(yīng)用等,并介紹了項(xiàng)目實(shí)戰(zhàn)中的一些開發(fā)和調(diào)優(yōu)策略。讀者能夠通過本書快速搭建Spark平臺(tái),并根據(jù)自己面臨的使用場景快速搭建處理平臺(tái),同時(shí)能夠了解背后的原理,對(duì)調(diào)優(yōu)、開發(fā)都能起到一定的指導(dǎo)作用。本書適合大數(shù)據(jù)處理人員,尤其是基于流式大數(shù)據(jù)處理的人員閱讀,本書也可以作為大數(shù)據(jù)處理人員的常備工具書隨時(shí)翻閱。
前言
第1篇 Spark基礎(chǔ)
第1章 初識(shí)Spark2
1.1 Spark由來3
1.2 流式處理與Spark Streaming5
1.2.1 流式處理框架5
1.2.2 Spark Streaming初識(shí)7
1.2.3 Structed Streaming簡述8
1.3 本章小結(jié)8
第2章 Spark運(yùn)行與開發(fā)環(huán)境9
2.1 Spark的下載與安裝9
2.2 Spark運(yùn)行模式10
2.2.1 本地模式13
2.2.2 本地集群模式13
2.2.3 Standalone模式14
2.2.4 Spark On Yarn模式15
2.2.5 Spark On Mesos模式15
2.3 搭建開發(fā)環(huán)境15
2.3.1 修改配置16
2.3.2 啟動(dòng)集群18
2.3.3 IDE配置20
2.3.4 UI監(jiān)控界面24
2.4 實(shí)例——Spark文件詞頻統(tǒng)計(jì)28
2.5 本章小結(jié)35
第3章 Spark編程模型36
3.1 RDD概述36
3.2 RDD存儲(chǔ)結(jié)構(gòu)37
3.3 RDD操作38
3.3.1 Transformation操作38
3.3.2 Action操作41
3.4 RDD間的依賴方式42
3.4.1 窄依賴(Narrow Dependency)42
3.4.2 Shuffle依賴(寬依賴Wide Dependency)43
3.5 從RDD看集群調(diào)度45
3.6 RDD持久化(Cachinng/Persistence)46
3.7 共享變量47
3.7.1 累加器(Accumulator)48
3.7.2 廣播變量(Broadcast Variables)50
3.8 實(shí)例——Spark RDD操作51
3.9 本章小結(jié)56
第2篇 Spark Streaming詳解
第4章 Spark Streaming編程模型及原理58
4.1 DStream數(shù)據(jù)結(jié)構(gòu)58
4.2 DStream操作59
4.2.1 DStream Transformation操作59
4.2.2 DStream輸出操作63
4.3 Spark Streaming初始化及輸入源63
4.3.1 初始化流式上下文(StreamingContext)63
4.3.2 輸入源及接收器(Receivers)64
4.4 持久化、Checkpointing和共享變量65
4.4.1 DStream持久化(Caching/Persistence)65
4.4.2 Checkpointing操作66
4.5 實(shí)例——Spark Streaming流式詞頻統(tǒng)計(jì)69
4.6 本章小結(jié)73
第5章 Spark Streaming與Kafka75
5.1 ZooKeeper簡介75
5.1.1 相關(guān)概念75
5.1.2 ZooKeeper部署77
5.2 Kafka簡介79
5.2.1 相關(guān)術(shù)語80
5.2.2 Kafka運(yùn)行機(jī)制81
5.2.3 Kafka部署83
5.2.4 簡單樣例85
5.3 Spark Streaming接收Kafka數(shù)據(jù)86
5.3.1 基于Receiver的方式87
5.3.2 直接讀取的方式88
5.4 Spark Streaming向Kafka中寫入數(shù)據(jù)90
5.5 實(shí)例——Spark Streaming分析Kafka數(shù)據(jù)92
5.6 本章小結(jié)101
第6章 Spark Streaming與外部存儲(chǔ)介質(zhì)102
6.1 將DStream輸出到文件中102
6.2 使用foreachRDD設(shè)計(jì)模式105
6.3 將DStream輸出到MySQL中106
6.3.1 MySQL概述107
6.3.2 MySQL通用連接類107
6.3.3 MySQL輸出操作108
6.4 將DStream輸出到HBase中109
6.4.1 HBase概述109
6.4.2 HBase通用連接類110
6.4.3 HBase輸出操作111
6.4.4 “填坑”記錄112
6.5 將DStream數(shù)據(jù)輸出到Redis中112
6.5.1 Redis安裝112
6.5.2 Redis概述113
6.5.3 Redis通用連接類113
6.5.4 輸出Redis操作115
6.6 實(shí)例——日志分析115
6.7 本章小結(jié)122
第7章 Spark Streaming調(diào)優(yōu)實(shí)踐124
7.1 數(shù)據(jù)序列化124
7.2 廣播大變量126
7.3 數(shù)據(jù)處理和接收時(shí)的并行度127
7.4 設(shè)置合理的批處理間隔128
7.5 內(nèi)存優(yōu)化128
7.5.1 內(nèi)存管理129
7.5.2 優(yōu)化策略130
7.5.3 垃圾回收(GC)優(yōu)化131
7.5.4 Spark Streaming內(nèi)存優(yōu)化132
7.6 實(shí)例——項(xiàng)目實(shí)戰(zhàn)中的調(diào)優(yōu)示例133
7.6.1 合理的批處理時(shí)間(batchDuration)133
7.6.2 合理的Kafka拉取量(maxRatePerPartition參數(shù)設(shè)置)134
7.6.3 緩存反復(fù)使用的Dstream(RDD)135
7.6.4 其他一些優(yōu)化策略135
7.6.5 結(jié)果136
7.7 本章小結(jié)138
第3篇 Spark Streaming案例實(shí)戰(zhàn)
第8章 實(shí)時(shí)詞頻統(tǒng)計(jì)處理系統(tǒng)實(shí)戰(zhàn)140
8.1 背景與設(shè)計(jì)140
8.2 代碼實(shí)現(xiàn)142
8.2.1 數(shù)據(jù)生成器142
8.2.2 分詞服務(wù)146
8.2.3 流式詞頻統(tǒng)計(jì)147
8.3 環(huán)境配置與運(yùn)行158
8.3.1 相關(guān)服務(wù)啟動(dòng)158
8.3.2 查看結(jié)果160
8.4 本章小結(jié)163
第9章 用戶行為統(tǒng)計(jì)實(shí)戰(zhàn)164
9.1 背景與設(shè)計(jì)164
9.1.1 不同狀態(tài)的保存方式164
9.1.2 State設(shè)計(jì)166
9.1.3 Redis存儲(chǔ)167
9.2 代碼實(shí)現(xiàn)167
9.2.1 數(shù)據(jù)生成器167
9.2.2 用戶行為統(tǒng)計(jì)168
9.3 環(huán)境配置與運(yùn)行172
9.3.1 相關(guān)服務(wù)啟動(dòng)172
9.3.2 查看結(jié)果173
9.4 本章小結(jié)175
第10章 監(jiān)控報(bào)警系統(tǒng)實(shí)戰(zhàn)177
10.1 背景與設(shè)計(jì)177
10.2 代碼實(shí)現(xiàn)179
10.2.1 簡易爬蟲子項(xiàng)目179
10.2.2 流式處理子項(xiàng)目184
10.2.3 歸納統(tǒng)計(jì)子項(xiàng)目191
10.2.4 數(shù)據(jù)表情況199
10.3 環(huán)境配置與查看200
10.3.1 啟動(dòng)各個(gè)模塊200
10.3.2 查看結(jié)果200
10.4 本章小結(jié)203
附錄A Scala語言基礎(chǔ)204
A.1 安裝及環(huán)境配置204
A.1.1 安裝Scala204
A.1.2 開發(fā)環(huán)境配置205
A.2 Scala語法獨(dú)特性206
A.2.1 換行符207
A.2.2 統(tǒng)一類型207
A.2.3 Scala變量208
A.2.4 條件和循環(huán)語句209
A.2.5 函數(shù)和方法210
A.2.6 特質(zhì)、單例和樣例類213
A.3 Scala集合215
A.3.1 集合框架216
A.3.2 核心特質(zhì)(Trait)219
A.3.3 常用的不可變集合類222
A.3.4 常用的可變集合類225
A.3.5 字符串227
A.3.6 數(shù)組228
A.3.7 迭代器(Iterators)230
A.4 其他常用特性231
A.4.1 模式匹配231
A.4.2 異常處理232
A.4.3 文件I/O233