32|Window操作&Watermark:流处理引擎提供了哪些优秀机制?
吴磊
你好,我是吴磊。
在上一讲,我们从原理的角度出发,学习了 Structured Streaming 的计算模型与容错机制。深入理解这些基本原理,会帮我们开发流处理应用打下坚实的基础。
在“流动的 Word Count”那一讲,我们演示了在 Structured Streaming 框架下,如何做流处理开发的一般流程。基于 readStream API 与 writeStream API,我们可以像读写 DataFrame 那样,轻松地从 Source 获取数据流,并把处理过的数据写入 Sink。
今天这一讲,咱们从功能的视角出发,继续来聊一聊 Structured Streaming 流处理引擎都为开发者都提供了哪些特性与能力,让你更灵活地设计并实现流处理应用。
Structured Streaming 怎样坐享其成?
学习过计算模型之后,我们知道,不管是 Batch mode 的多个 Micro-batch、多个作业的执行方式,还是 Continuous mode 下的一个 Long running job,这些作业的执行计划,最终都会交付给 Spark SQL 与 Spark Core 付诸优化与执行。
两种计算模型的执行方式
而这,会带来两个方面的收益。一方面,凡是 Spark SQL 支持的开发能力,不论是丰富的 DataFrame 算子,还是灵活的 SQL 查询,Structured Streaming 引擎都可以拿来即用。基于之前学过的内容,我们可以像处理普通的 DataFrame 那样,对基于流数据构建的 DataFrame 做各式各样的转换与聚合。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
Structured Streaming是Spark框架下的流处理引擎,提供了丰富的特性和能力,包括Window操作和Watermark机制。文章通过简洁清晰的语言和实际代码示例,帮助读者快速了解了Structured Streaming的基本原理和功能。其中,Window操作支持Tumbling Window和Sliding Window两种划分方式,而Watermark机制则用于处理延迟数据,保证数据处理的准确性。此外,文章还强调了Structured Streaming引擎的优势,即可以享有Spark SQL提供的丰富开发能力和性能优化。通过本文的介绍,读者可以快速了解Structured Streaming的基本特性和功能,为开发流处理应用提供了重要参考。总之,Structured Streaming为开发者提供了灵活的设计和实现流处理应用的能力,是一个强大而实用的工具。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《零基础入门 Spark》,新⼈⾸单¥59
《零基础入门 Spark》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 姚礼垚老师,我想问下Sliding Window的应用场景是啥,如果按照时间聚合的话,Tumbling Window界限好像更清晰一些
作者回复: 比如说,过去一小时以内的交通流量(车流量、人流量),每10分钟统计一次,类似于这样的场景。简单的说,就是统计周期和统计频率不一致的场景~ 还有,比方说,过去一小时以内的平均温度、湿度,等等,每5分钟统计一起,诸如此类
2022-01-0624 - Geek_63fe1e怎么觉得消息8也被丢弃,最大的watermark 是9:44,能容忍的最晚的消息不应该是9:34,而消息8已经早于这个时间了
作者回复: 老弟可以动手跑下文中的示例,再结合Watermark的原理理解下哈~
2022-02-2731 - 苏文进event time 水印 水位线 上沿 下沿 2021-10-01 09:30:00, Apache Spark 09:30:00 09:20:00 09:25:00 09:20:00 ok 2021-10-01 09:36:00, Structured Streaming 09:36:00 09:26:00 09:30:00 09:25:00 ok 2021-10-01 09:39:00, Spark Streaming 09:39:00 09:29:00 09:30:00 09:25:00 ok 2021-10-01 09:41:00, AMP Lab 09:41:00 09:31:00 09:35:00 09:30:00 ok 2021-10-01 09:44:00, Spark SQL 09:44:00 09:34:00 09:35:00 09:30:00 ok 2021-10-01 09:29:00, Test Test 09:44:00 09:34:00 09:35:00 09:30:00 no 2021-10-01 09:33:00, Spark is cool 09:44:00 09:33:00 09:35:00 09:30:00 ok2022-05-217
- PCZ为什么 scala下的spark element_at这个函数找不到,需要什么依赖吗2023-04-16归属地:江苏
收起评论