• 基于Apache Spark的流处理
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

基于Apache Spark的流处理

28.7 2.2折 128 全新

库存3件

河北保定
认证卖家担保交易快速发货售后保障

作者[美]杰拉德·马斯(Gerard;Maas;[美]弗朗索瓦·加里洛(Fran.ois;Garillot

出版社中国电力出版社

出版时间2021-04

版次1

装帧其他

货号9787519852948

上书时间2024-12-01

   商品详情   

品相描述:全新
图书标准信息
  • 作者 [美]杰拉德·马斯(Gerard;Maas;[美]弗朗索瓦·加里洛(Fran.ois;Garillot
  • 出版社 中国电力出版社
  • 出版时间 2021-04
  • 版次 1
  • ISBN 9787519852948
  • 定价 128.00元
  • 装帧 其他
  • 开本 16开
  • 纸张 胶版纸
  • 页数 444页
  • 字数 581千字
【内容简介】
?学习流处理的基本概念、研究各种流处理架构。
  ?通过具体实例来研究Structured Streaming、深入理解流处理概念。
  ?通过Spark Streaming创建并管理流作业,使用其他Spark API与Spark Streaming集成。
  ?学习Spark Streaming高级技巧,包括近似算法和机器学习算法。
  ?将Apache Spark与其他流处理项目比较,包括Apache Storm、Apache Flink和Apache Kafka Streams。
【作者简介】
Gerard Mass是Lightbend的首席工程师,致力于将Structured Streaming与流处理扩展技术无缝集成到Lightbend平台中。

François Garillot在Facebook从事于分布式计算相关工作。曾在Lightbend从事Spark Streaming反压机制研究,同时拥有巴黎综合理工学院的博士学位。
【目录】
目录

序 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
点击展开 点击收起

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP