本篇主要提供基于ApacheSpark的流处理杰拉德·马斯中国电力有限责任公司电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
商品基本信息,请以下列介绍为准 | |
商品名称: | 基于Apache Spark的流处理 |
作者: | [美]杰拉德·马斯,[美]弗朗索瓦·加里洛 |
定价: | 128.0 |
出版社: | 中国电力出版社有限责任公司 |
出版日期: | 2021-04-01 |
ISBN: | 9787519852948 |
印次: | 1 |
版次: | 1 |
装帧: | |
开本: | 16开 |
内容简介 | |
·学理的基本概念、研究各种流处理架构。 ·通过具体实例来研究Structured Streaming、深入理解流处理概念。 ·通过Spark Streaming创建并管理流作业,使用其他Spark API与Spark Streaming集成。 ·学ark Streaming高级技巧似算法和机器学。 ·将Apache Spark与其他流处理项目比较括Apache Storm、Apache Flink和Apache Kafka Streams。 |
目录 | |
目录 序 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 学ructured 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 深入学nk 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 机器学99 学用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 批次细节 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 去重统计: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 在流式应用构建与作方面的所有内容。 利用分析工具可以快速获取商业洞察,为此你需要了解如何对数行实时处理。通过这本实用指南,对于熟悉Apache Spark的读者来说,你们将了解如何将这个内存框架应用于流数据。你会发现Spark让你几乎可以像面对批处理作业一样来开发流处理作业。 本书介绍了Apache Spark的理论基础。这本综合指南通过两个部分比较了Spark支持的流处理API:早期的Spark Streaming和后来的Structured Streaming。 “这本书将带你了解Spark在流面的支持,从早期的DStream API到后来基于SQL的Structured Streaming。本书是学知识必备的指南。” ——Dean WamplerLightbend裁、负责快速数据工程建设,《Programming Scala》的共同作者 通过讨论该领域的实时大数据问题而展开内容,并体上说明Spark Streaming和流处理的概念。然一步采用该领域公开可用的数据集,去实现每个章节中的真实应用程序。此外,本书的所有代码片段都可以用于执行。 |
作者简介 | |
Gerard Mass,是Lightbend的首席工程师,致力于将Structured Streaming与流处理扩展技术无缝集成到Lightben台中。 Fran?ois Garillot,在Facebook从事于分布式计算相关工作。曾在Lightbend从事Spark Streaming反压机制研究,同时拥有巴黎综合理工学院的博士学位。 |