Spark Streaming實時流式大數(shù)據(jù)處理實戰(zhàn)
定 價:69 元
- 作者:肖力濤
- 出版時間:2019/4/1
- ISBN:9787111624325
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:IV.TP274
- 頁碼:0
- 紙張:
- 版次:1
- 開本:16K
本書以翔實的原理講解和充實的實戰(zhàn)代碼剖析,全面闡述了Spark Streaming流式處理平臺,便于讀者能夠從入門開始了解搭建Spark平臺,在此基礎(chǔ)上學習流式處理框架,并動手實踐,進行Spark Streaming流式大數(shù)據(jù)處理,包括與主流平臺框架,如Kafka、Redis和ZooKeeper的對接應(yīng)用等,并介紹了項目實戰(zhàn)中的一些開發(fā)和調(diào)優(yōu)策略。讀者能夠通過本書快速搭建Spark平臺,并根據(jù)自己面臨的使用場景快速搭建處理平臺,同時能夠了解背后的原理,對調(diào)優(yōu)、開發(fā)都能起到一定的指導作用。本書適合大數(shù)據(jù)處理人員,尤其是基于流式大數(shù)據(jù)處理的人員閱讀,本書也可以作為大數(shù)據(jù)處理人員的常備工具書隨時翻閱。
前言
第1篇 Spark基礎(chǔ)
第1章 初識Spark2
1.1 Spark由來3
1.2 流式處理與Spark Streaming5
1.2.1 流式處理框架5
1.2.2 Spark Streaming初識7
1.2.3 Structed Streaming簡述8
1.3 本章小結(jié)8
第2章 Spark運行與開發(fā)環(huán)境9
2.1 Spark的下載與安裝9
2.2 Spark運行模式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 啟動集群18
2.3.3 IDE配置20
2.3.4 UI監(jiān)控界面24
2.4 實例——Spark文件詞頻統(tǒng)計28
2.5 本章小結(jié)35
第3章 Spark編程模型36
3.1 RDD概述36
3.2 RDD存儲結(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 實例——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 實例——Spark Streaming流式詞頻統(tǒng)計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運行機制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 實例——Spark Streaming分析Kafka數(shù)據(jù)92
5.6 本章小結(jié)101
第6章 Spark Streaming與外部存儲介質(zhì)102
6.1 將DStream輸出到文件中102
6.2 使用foreachRDD設(shè)計模式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 實例——日志分析115
6.7 本章小結(jié)122
第7章 Spark Streaming調(diào)優(yōu)實踐124
7.1 數(shù)據(jù)序列化124
7.2 廣播大變量126
7.3 數(shù)據(jù)處理和接收時的并行度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 實例——項目實戰(zhàn)中的調(diào)優(yōu)示例133
7.6.1 合理的批處理時間(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案例實戰(zhàn)
第8章 實時詞頻統(tǒng)計處理系統(tǒng)實戰(zhàn)140
8.1 背景與設(shè)計140
8.2 代碼實現(xiàn)142
8.2.1 數(shù)據(jù)生成器142
8.2.2 分詞服務(wù)146
8.2.3 流式詞頻統(tǒng)計147
8.3 環(huán)境配置與運行158
8.3.1 相關(guān)服務(wù)啟動158
8.3.2 查看結(jié)果160
8.4 本章小結(jié)163
第9章 用戶行為統(tǒng)計實戰(zhàn)164
9.1 背景與設(shè)計164
9.1.1 不同狀態(tài)的保存方式164
9.1.2 State設(shè)計166
9.1.3 Redis存儲167
9.2 代碼實現(xiàn)167
9.2.1 數(shù)據(jù)生成器167
9.2.2 用戶行為統(tǒng)計168
9.3 環(huán)境配置與運行172
9.3.1 相關(guān)服務(wù)啟動172
9.3.2 查看結(jié)果173
9.4 本章小結(jié)175
第10章 監(jiān)控報警系統(tǒng)實戰(zhàn)177
10.1 背景與設(shè)計177
10.2 代碼實現(xiàn)179
10.2.1 簡易爬蟲子項目179
10.2.2 流式處理子項目184
10.2.3 歸納統(tǒng)計子項目191
10.2.4 數(shù)據(jù)表情況199
10.3 環(huán)境配置與查看200
10.3.1 啟動各個模塊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語法獨特性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