基于Apache Spark的流处理
全新正版 极速发货
¥
13.85
1.1折
¥
128
全新
库存48件
作者(美)杰拉德·马斯,(美)弗朗索瓦·加里洛
出版社中国电力出版社
ISBN9787519852948
出版时间2021-03
装帧平装
开本16开
定价128元
货号1202346567
上书时间2024-05-25
商品详情
- 品相描述:全新
- 商品描述
-
目录
序 1
前言 3
第一部分 Apache Spark 流处理的基本原理
第1章 流处理概述 13
什么是流处理 14
批处理与流处理 15
流处理中的时间概念 15
不确定性因素 16
流处理案例 16
可扩展的数据处理能力 18
扩展性与容错性 19
分布式流处理 19
Apache Spark 概述 20
波浪潮:函数式API 20
第二波浪潮:SQL 21
统一的引擎21
Spark 组件 22
Spark Streaming 23
Structured Streaming 23
接下来? 24
第2章 流处理模型 25
数据源与接收器 26
不可变流 27
转换与聚合 27
窗口聚合 28
滚动窗口 28
滑动窗口 29
无状态处理与有状态处理 29
有状态的流 30
案例:Scala中的本地状态计算 31
无状态流,还是有状态流? 33
时间效应 33
带时间戳的事件计算 33
通过时间戳来定义时间概念 34
事件时间与处理时间 34
使用水位线计算 37
小结 39
第3章 流处理架构 41
数据平台的组件 41
体系模型 43
在流处理应用中使用批处理组件 44
流处理架构参考 45
Lambda 架构 45
Kappa 架构 46
流处理算法与批处理算法 47
流处理算法有时候本质上与批处理算法接近不同 47
流处理算法难以保证比批处理算法表现更好 48
小结 50
第4章 流处理引擎Apache Spark 51
两种API 的由来 51
Spark 的内存使用 52
故障恢复 53
惰性执行 53
缓存使用建议 53
延迟 54
面向吞吐的数据处理 55
Spark的多语言API 55
快速实现数据分析 56
更多关于Spark的内容 57
小结 57
第5章 Spark分布式处理模型 59
通过集群管理器来运行Apache Spark 59
Spark的集群管理器 61
分布式系统的弹性与容错 62
故障恢复 63
集群管理器对容错的支持 63
数据交付语义 64
微批处理与一次处理一个 66
微批处理:整体同步处理应用案例 66
一次处理一个 68
微批与一次处理一个:权衡 68
微批处理与一次处理一个方式地结合 69
动态的批次间隔 69
Structured Streaming处理模型 69
第6章 Spark弹性模型 71
Spark中的弹性分布式数据集 71
Spark组件 73
Spark容错保证 75
Task失败恢复 76
stage失败恢复 77
Driver失败恢复 77
小结 78
参考文献 81
第二部分 Structured Streaming
第7章 Structured Streaming 概述 87
学习Structured Streaming 之前 88
批处理分析 89
流分析 92
连接Stream 93
准备流数据93
流式Dataset操作 94
创建查询(Query) 95
启动流处理96
浏览数据 97
小结 97
第8章 Structured Streaming 编程模型 99
初始化Spark实例 100
source:接收流数据 100
流数据的转换 102
sink:输出结果数据 105
format 106
outputMode 107
queryName 107
option 108
options 108
trigger 108
start() 109
小结 109
第9章 Structured Streaming 实战 111
消费流source 112
程序逻辑 114
写入流sink 114
小结 116
第10章 Structured Streaming的Source 117
source概述 117
可靠的source需要能够重放数据 118
source需要提供schema 119
可用的source 121
文件source 122
指定文件格式 122
公共配置 123
常用的文本解析配置项(CSV、JSON) 124
JSON文件source 125
CSV文件source127
Parquet文件source 128
文本文件source 128
Kafka source 129
创建Kafka source 130
选择订阅主题的方法 131
Kafka source的配置项 132
Kafka消费者的配置项 133
Socket source 134
配置 135
操作 136
Rate source 136
第11章 Structured Streaming的Sink 139
sink概述 139
可用的sink 140
可靠的sink 140
实验型sink 141
sink API 141
深入学习sink 141
文件sink 142
在文件sink中使用触发器 143
文件格式的通用配置项 145
常见的时间和日期格式化设置(CSV、JSON) 146
CSV文件sink 146
JSON文件sink 147
Parquet文件sink 148
文本文件sink 148
Kafka sink 148
Kafka发布模型 148
Kafka sink的使用 149
内存sink 152
控制台sink 153
配置项 153
输出模式 153
Foreach sink 154
ForeachWriter 接口 154
TCP Writer sink: ForeachWriter使用案例 155
案例总结 158
ForeachWriter序列化问题排查 159
第12章 基于事件时间的流处理 161
Structured Streaming中的事件时间 161
事件时间 163
处理时间 164
水位线 164
基于时间的窗口聚合 165
基于时间的窗口定义 166
如何计算间隔 167
多维聚合 167
滚动窗口和滑动窗口 168
记录去重 170
小结 170
第13章 不错状态操作 173
案例:车队管理 174
分组状态操作 174
使用MapGroupsWithState 176
使用FlatMapGroupsWithState 180
输出模式 182
管理状态的时变性 183
小结 186
第14章 Structured Streaming 应用监控 187
Spark 指标子系统 188
StreamingQuery 实例 189
StreamingQueryListener 接口 192
第15章 实验性模块:连续处理与机器学习 195
连续处理 195
连续处理介绍 195
使用连续处理 197
局限性 198
机器学习 199
学习与应用199
在流中使用机器学习模型 200
案例:利用环境传感器估计房间使用情况 201
在线训练 204
参考文献 207
第三部分 Spark Streaming
第16章 Spark Streaming 概述 213
DStream 抽象 214
基于DStream 的编程模型 214
基于DStream 的执行模型 216
Spark Streaming 程序结构 216
创建Spark Streaming Context 217
定义DStream 218
定义输出操作 218
启动Spark Streaming Context 218
停止Streaming进程 219
小结 219
第17章 Spark Streaming编程模型 221
RDD,DStream的底层抽象 221
DStream转换操作 224
元素级别的DStream转换 226
RDD 级别的DStream转换228
Count操作 229
修改结构的转换操作 230
小结 231
第18章 Spark Streaming执行模型 233
整体同步架构 233
Receiver 模型 235
Receiver API 235
Receiver 工作流程 236
Receiver 数据流 237
内部的数据弹性 238
Receiver 的并行 239
资源平衡:Receiver 与处理核数 239
通过预写式日志(Write-Ahead Log)达到零数据丢失 240
无Receiver(Direct)模式 241
小结 242
第19章 Spark Streaming 的Source 245
source 分类 245
基础source 246
基于Receiver 模式的source 246
基于Direct 模式的source 247
常用source 247
文件source 248
队列source 251
工作流程 252
使用队列source 进行单元测试 252
队列source 的简单替代方案:ConstantInputDStream 254
Socket source 256
Kafka source 258
使用Kafka source 260
工作流程 261
哪里有更多的source 262
第20章 Spark Streaming 的Sink 263
输出操作 263
内置的输出操作 265
print 266
saveAs 系列 266
foreachRDD 268
使用foreachRDD 编写自定义sink 268
第三方输出操作 271
第21章 基于时间的流处理 273
窗口聚合 273
滚动窗口 274
滑动窗口 275
滑动窗口与批次间隔 275
滑动窗口与滚动窗口 276
使用窗口还是较长的批次间隔 276
窗口上的reduce 操作 277
reduceByWindow 278
reduceByKeyAndWindow 278
countByWindow 278
countByValueAndWindow 279
可逆的窗口聚合操作 279
流的分片 281
小结 281
第22章 任意有状态的流处理 283
流的状态性 283
updateStateByKey 284
updateStateByKey 的局限性 286
性能 286
内存占用 287
使用mapwithState 进行有状态的计算 287
使用mapWithState 289
使用mapWithState进行基于事件时间的流计算 291
第23章 使用Spark SQL 295
Spark SQL 296
在Spark Streaming中使用Spark SQL函数 297
静态数据处理 301
Join 优化 304
更新流处理程序中的参考数据集 307
小结 309
第24章 checkpoint 机制 311
checkpoint的使用 312
DStream的checkpoint机制 317
从checkpoint中恢复 318
checkpoint的代价 320
checkpoint调优 320
第25章 Spark Streaming应用监控 323
Streaming UI 324
通过Streaming UI了解作业性能 326
输入速率图326
调度延迟图327
处理时间图328
总延迟图 328
批次细节 329
监控REST API 331
监控REST API 的使用 331
监控REST API 详解 331
指标子系统 333
内部事件总线 335
小结 339
第26章 性能调优 341
Spark Streaming中的性能平衡 341
批次间隔与处理延迟的关系 342
作业是如何失败的 342
深入理解调度延迟和处理延迟 343
checkpoint对处理时间的影响 344
影响作业性能的外部因素 345
如何提高性能 345
调整批次间隔 346
以固定速率对数据摄入限流 346
反压 347
动态限流 348
PID 反压调优 349
自定义速率估算器 349
另一种动态处理策略 350
缓存 350
推测执行 352
参考文献 353
第四部分 Spark Streaming不错技巧
第27章 流式近似与抽样算法 357
准确性、实时性与大数据 358
准确性 358
实时处理 358
大数据 359
准确性、实时性与大数据之间的三角关系 359
近似算法 362
哈希与素描 362
去重统计:HyperLogLog 363
角色扮演练习:假如我们是系统管理员 364
HyperLogLog 在Spark中的实践 367
统计元素频率:Count-min Sketch 371
布隆过滤器概述 372
在Spark 中使用布隆过滤器 373
使用Count-min Sketch统计频率 373
排名与分位数:T-Digest 算法 376
减少元素数量:抽样 378
随机抽样 379
分层抽样 380
第28章 实时机器学习 381
利用朴素贝叶斯进行流分类 382
streamDM介绍384
朴素贝叶斯实践案例 385
训练一个电影评论分类器 386
决策树介绍 387
Hoeffding树 389
使用在线K-means进行流聚类 392
K-means聚类 392
在线数据与在线K-means算法 393
聚类的衰退问题 394
使用Spark Streaming运行流式K-means 396
参考文献 399
第五部分 Apache Spark之外的世界
第29章 其他分布式实时流处理系统 405
Apache Storm 405
编程模型 406
Storm 拓扑 406
Storm 集群 407
与Spark 相比 407
Apache Flink 408
流处理优先的框架 408
与Spark相比 409
Kafka Streams 409
Kafka Streams编程模型 410
与Spark相比 410
云上的流处理系统 411
AWS上的Amazon Kinesis 411
微软的Azure Stream Analytics 412
Apache Beam 和Google Cloud Dataflow 413
第30章 展望 417
紧随Spark 项目 418
在Stack Overflow上寻求帮助 418
在邮件列表中进行讨论 418
参加会议 419
参加交流会 419
贡献Apache Spark 项目 419
参考文献 421
作者介绍 423
封面介绍 423
内容摘要
利用分析工具可以快速获取商业洞察,为此你需要了解如何对数据进行实时处理。通过这本实用指南,对于熟悉Apache Spark的读者来说,你们将了解如何将这个内存框架应用于流数据。你会发现Spark让你几乎可以像面对批处理作业一样来开发流处理作业。 本书介绍了Apache Spark的理论基础。这本综合指南通过两个部分比较了Spark支持的流处理API:早期Spark Streaming和后来的Structured Streaming。
— 没有更多了 —
以下为对购买帮助不大的评价