實時數據處理和分析指南

[印度]希爾皮·薩克塞納(Shilpi Saxena) [印度]沙魯巴·古普塔( Saurabh Gupta)

  • 實時數據處理和分析指南-preview-1
  • 實時數據處理和分析指南-preview-2
實時數據處理和分析指南-preview-1

買這商品的人也買了...

商品描述

本書主要介紹實時大數據計算領域的相關技巧和經驗,包括Flink、Spark和Storm等流處理框架技術。
全書從搭建開發環境開始,逐步實現流處理,循序漸進地引導讀者學習如何利用Rabbit MQ、
Kafka和NiFi以及Storm、Spark、Flink和Beam等組件協同應用來解決實際問題。
本書內容分為6個部分,分別是“導言——熟悉實時分析”“搭建基礎設施”“Storm實時計算”
“使用Spark實現實時計算”“使用Flink實現實時分析”以及“綜合應用”。
在閱讀本書之前,讀者應具備基本的Java和Scala編程基礎,還應熟悉Maven、Java和Eclipse的安裝和配置流程。

作者簡介

Shilpi Saxena

是IT領域的一位技術佈道者。她曾涉足多個領域(機器對機器空間、醫療保健、電信、人才招聘和製造業)。
在企業解決方案的構思和執行的所有方面,以及在軟件行業的產品和服務方面有超過12年的經驗。
她一直在大數據領域從事設計、管理和提供解決方案,並領導著一支高水平和分佈在各地的精英工程師團隊。


Saurabh Gupta

是一名軟件工程師,有數十年的IT行業從業經驗,目前從事處理和設計在生產中運行的實時和批處理項目的相關工作,
主要包括Impala、 Storm、NiFi、Kafka等技術以及在AWS上部署Docker,他還參與了各種物聯網項目,涉及電信、醫療保健、智能城市、智能汽車等領域。

目錄大綱

目錄:
第一部分導言—熟悉實時分析
第1章實時分析簡介2
1.1大數據的定義2
1.2大數據的基礎設施3
1.3實時分析—神話與現實6
1.4近實時解決方案—可用的架構9
1.4.1 NRT的Storm解決方案9
1.4.2 NRT的Spark解決方案10
1.5 Lambda架構—分析可能性11
1.6物聯網—想法與可能性13
1.7雲—考慮NRT和物聯網17
1.8小結18
 
第2章實時應用的基本組件19
2.1 NRT系統及其構建模塊19
2.1.1數據採集21
2.1.2流處理22
2.1.3分析層—服務終端用戶23
2.2 NRT的*級系統視圖25
2.3 NRT的技術視圖26
2.3.1事件生產者27
2.3.2數據收集27
2.3.3代理29
2.3.4轉換和處理31
2.3.5存儲32
2.4小結32

*二部分搭建基礎設施
第3章了解和跟踪數據流34
3.1了解數據流34
3.2為數據提取安裝基礎設施35
3.2.1 Apache Kafka 35
3.2.2 Apache NiFi 36
3.2.3 Logstash 41
3.2.4 Fluentd 43
3.2.5 Flume 46
3.3將數據從源填到處理器—期望和注意事項48
3.4比較與選擇適合用例的*佳實踐49
3.5小試牛刀49
3.6小結51

第4章安裝和配置Storm 52
4.1 Storm概述52
4.2 Storm架構和組件53
4.2.1特徵54
4.2.2組件54
4.2.3流分組56
4.3安裝和配置Storm 57
4.3.1安裝Zookeeper 57
4.3.2配置Apache Storm 59
4.4在Storm上實時處理任務61
4.5小結67

第5章配置Apache Spark和Flink 68
5.1安裝並快速運行Spark 68
5.1.1源碼構建69
5.1.2下載Spark安裝包69
5.1.3運行示例70
5.2安裝并快速運行Flink 73
5.2.1使用源碼構建Flink 73
5.2.2下載Flink 74
5.2.3運行示例75
5.3安裝并快速運行Apache Beam 79
5.3.1 Beam模型79
5.3.2運行示例80
5.3.3 MinimalWordCount示例82
5.4 Apache Beam中的平衡85
5.5小結88

第三部分Storm實時計算
第6章集成Storm與數據源90
6.1 RabbitMQ有效的消息傳遞90
6.2 RabbitMQ交換器91
6.2.1直接交換器91
6.2.2 RabbitMQ安裝配置93
6.2.3 RabbitMQ的發布和訂閱95
6.3 RabbitMQ與Storm集成99
6.4 PubNub數據流發布者107
6.5將Storm和RMQ_PubNub傳感器數據拓撲串在一起111
6.6小結114

第7章從Storm到Sink 115
7.1安裝並配置Cassandra 115
7.1.1安裝Cassandra 116
7.1.2配置Cassandra 117
7.2 Storm和Cassandra拓撲118
7.3 Storm和IMDB集成處理維度數據120
7.4集成表示層與Storm 122
7.5小試牛刀134
7.6小結143

第8章Storm Trident 144
8.1狀態保持和Trident 144
8.1.1事務性spout 145
8.1.2不透明事務性spout 145
8.2基本Storm Trident拓撲146
8.3 Trident內部實現148
8.4 Trident操作149
8.4.1函數149
8.4.2 Map函數and FlatMap函數150
8.4. 3 peek函數151
8.4.4過濾器151
8.4.5窗口操作152
8.4.6聚合操作155
8.4.7分組操作158
8.4.8合併和組合操作159
8.5 DRPC 160
8.6小試牛刀161
8.7小結164

第四部分使用Spark實現實時計算
第9章運用Spark引擎166
9.1 Spark概述166
9.2 Spark的獨特優勢169
9.3 Spark用例172
9.4 Spark架構—引擎內部的運行模式174
9.5 Spark的語用概念176
9.6 Spark 2. x—數據框和數據集的出現178
9.7小結179

第10章運用Spark操作180
10.1 Spark—封裝和API 180
10.2 RDD語用探索182
10.2.1轉換185
10.2.2動作190
10.3共享變量—廣播變量和累加器192
10.3.1廣播變量192
10.3.2累加器195
10.4小結196

第11章Spark Streaming 197
11.1 Spark Streaming的概念197
11.2 Spark Streaming的簡介和體系結構198
11.3 Spark Streaming的封裝結構203
11.3.1 Spark Streaming API 203
11.3.2 Spark Streaming操作204
11.4連接Kafka和Spark Streaming 206
11.5小結208

第五部分使用Flink實現實時分析
第12章運用Apache Flink 210
12.1 Flink體系結構和執行引擎210
12.2 Flink的基本組件和進程213
12.3將源流集成到Flink 215
12.3.1和Apache Kafka集成215
12.3.2和RabbitMQ集成218
12.4 Flink處理和計算221
12.4.1 Datastream API 221
12.4.2 DataSet API 223
12.5 Flink持久化224
12.6 FlinkCEP 226
12.7 Pattern API 227
12.7.1檢測模式227
12.7.2模式選擇228
12.7.3示例228
12.8 Gelly 229
12.9小試牛刀231
12.10小結242

第六部分綜合應用
第13章用例研究244
13.1概述244
13.2數據建模245
13.3工具和框架246
13.4建立基礎設施247
13.5實現用例252
13.5.1構建數據模擬器252
13.5.2 Hazelcast加載器259
13.5.3構建Storm拓撲261
13.6運行用例272
13.7小結279