零基础入门 Spark
吴磊
前 FreeWheel 机器学习研发经理
19171 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 38 讲
零基础入门 Spark
15
15
1.0x
00:00/00:00
登录|注册

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
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • 姚礼垚
    老师,我想问下Sliding Window的应用场景是啥,如果按照时间聚合的话,Tumbling Window界限好像更清晰一些

    作者回复: 比如说,过去一小时以内的交通流量(车流量、人流量),每10分钟统计一次,类似于这样的场景。简单的说,就是统计周期和统计频率不一致的场景~ 还有,比方说,过去一小时以内的平均温度、湿度,等等,每5分钟统计一起,诸如此类

    2022-01-06
    2
    4
  • Geek_63fe1e
    怎么觉得消息8也被丢弃,最大的watermark 是9:44,能容忍的最晚的消息不应该是9:34,而消息8已经早于这个时间了

    作者回复: 老弟可以动手跑下文中的示例,再结合Watermark的原理理解下哈~

    2022-02-27
    3
    1
  • 苏文进
    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 ok
    2022-05-21
    7
  • PCZ
    为什么 scala下的spark element_at这个函数找不到,需要什么依赖吗
    2023-04-16归属地:江苏
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部