《Spark Streaming實時流式大數據處理實戰》是2019年4月由機械工業出版社出版的一本圖書,作者是肖力濤 。
基本介紹
- 書名:Spark Streaming實時流式大數據處理實戰
- 作者:肖力濤
- ISBN:9787111624325
- 頁數:280
- 定價:69.00
- 出版社: 機械工業出版社
- 出版時間:2019-04-01
- 裝幀:平裝
- 開本:16開
內容簡介,作者簡介,圖書目錄,
內容簡介
本書以翔實的原理講解和充實的實戰代碼剖析,全面闡述了Spark Streaming流式處理平台,便於讀者能夠從入門開始了解搭建Spark平台,在此基礎上學習流式處理框架,並動手實踐,進行Spark Streaming流式大數據處理,包括與主流平台框架,如Kafka、Redis和ZooKeeper的對接套用等,並介紹了項目實戰中的一些開發和調優策略。讀者能夠通過本書快速搭建Spark平台,並根據自己面臨的使用場景快速搭建處理平台,同時能夠了解背後的原理,對調優、開發都能起到一定的指導作用。本書適合大數據處理人員,尤其是基於流式大數據處理的人員閱讀,本書也可以作為大數據處理人員的常備工具書隨時翻閱。
作者簡介
肖力濤 浙江大學計算機碩士,前騰訊優圖實驗室及WeTest研究員,現拼多多資深算法工程師。長期進行大數據處理、自然語言處理、深度學習、推薦算法的研究與實踐,有豐富的項目經驗。善於歸納和總結,所撰寫的部落格文章得到了大量讀者的好評。擅長數據分析與處理、算法實踐落地、用戶行為數據挖掘、大規模數據處理等技術。運營《網際網路技術猿》公眾號。
圖書目錄
前言
第1篇 Spark基礎
第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 本章小結8
第2章 Spark運行與開發環境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 搭建開發環境15
2.3.1 修改配置16
2.3.2 啟動集群18
2.3.3 IDE配置20
2.3.4 UI監控界面24
2.4 實例——Spark檔案詞頻統計28
2.5 本章小結35
第3章 Spark編程模型36
3.1 RDD概述36
3.2 RDD存儲結構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看集群調度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 本章小結56
第2篇 Spark Streaming詳解
第4章 Spark Streaming編程模型及原理58
4.1 DStream數據結構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流式詞頻統計69
4.6 本章小結73
第5章 Spark Streaming與Kafka75
5.1 ZooKeeper簡介75
5.1.1 相關概念75
5.1.2 ZooKeeper部署77
5.2 Kafka簡介79
5.2.1 相關術語80
5.2.2 Kafka運行機制81
5.2.3 Kafka部署83
5.2.4 簡單樣例85
5.3 Spark Streaming接收Kafka數據86
5.3.1 基於Receiver的方式87
5.3.2 直接讀取的方式88
5.4 Spark Streaming向Kafka中寫入數據90
5.5 實例——Spark Streaming分析Kafka數據92
5.6 本章小結101
第6章 Spark Streaming與外部存儲介質102
6.1 將DStream輸出到檔案中102
6.2 使用foreachRDD設計模式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數據輸出到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 本章小結122
第7章 Spark Streaming調優實踐124
7.1 數據序列化124
7.2 廣播大變數126
7.3 數據處理和接收時的並行度127
7.4 設定合理的批處理間隔128
7.5 記憶體最佳化128
7.5.1 記憶體管理129
7.5.2 最佳化策略130
7.5.3 垃圾回收(GC)最佳化131
7.5.4 Spark Streaming記憶體最佳化132
7.6 實例——項目實戰中的調優示例133
7.6.1 合理的批處理時間(batchDuration)133
7.6.2 合理的Kafka拉取量(maxRatePerPartition參數設定)134
7.6.3 快取反覆使用的Dstream(RDD)135
7.6.4 其他一些最佳化策略135
7.6.5 結果136
7.7 本章小結138
第3篇 Spark Streaming案例實戰
第8章 實時詞頻統計處理系統實戰140
8.1 背景與設計140
8.2 代碼實現142
8.2.1 數據生成器142
8.2.2 分詞服務146
8.2.3 流式詞頻統計147
8.3 環境配置與運行158
8.3.1 相關服務啟動158
8.3.2 查看結果160
8.4 本章小結163
第9章 用戶行為統計實戰164
9.1 背景與設計164
9.1.1 不同狀態的保存方式164
9.1.2 State設計166
9.1.3 Redis存儲167
9.2 代碼實現167
9.2.1 數據生成器167
9.2.2 用戶行為統計168
9.3 環境配置與運行172
9.3.1 相關服務啟動172
9.3.2 查看結果173
9.4 本章小結175
第10章 監控報警系統實戰177
10.1 背景與設計177
10.2 代碼實現179
10.2.1 簡易爬蟲子項目179
10.2.2 流式處理子項目184
10.2.3 歸納統計子項目191
10.2.4 數據表情況199
10.3 環境配置與查看200
10.3.1 啟動各個模組200
10.3.2 查看結果200
10.4 本章小結203
附錄A Scala語言基礎204
A.1 安裝及環境配置204
A.1.1 安裝Scala204
A.1.2 開發環境配置205
A.2 Scala語法獨特性206
A.2.1 換行符207
A.2.2 統一類型207
A.2.3 Scala變數208
A.2.4 條件和循環語句209
A.2.5 函式和方法210
A.2.6 特質、單例和樣例類213
A.3 Scala集合215
A.3.1 集合框架216
A.3.2 核心特質(Trait)219
A.3.3 常用的不可變集合類222
A.3.4 常用的可變集合類225
A.3.5 字元串227
A.3.6 數組228
A.3.7 疊代器(Ite