Flink-Window介绍

本文详细介绍了Flink的窗口机制,包括时间窗口(Tumbling、Sliding)、计数窗口(Tumbling、Sliding)和会话窗口的概念与应用场景。Flink的窗口API允许灵活定义窗口分配逻辑,通过Window Assigner、Trigger和Evictor实现定制化处理。文章还探讨了窗口的工作流程、状态存储和优化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.简介

Flink认为Batch是Streaming的一个特例,所以Flink底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从Streaming到Batch的一个桥梁,Flink提供了非常完善的窗口的机制,这是我认为的Flink最大亮点之一(其他的亮点包括消息乱序处理和checkpoint机制)。本文介绍流处理中窗口概念。

二.Window

在流处理应用中,数据是连续不断的,因此我们不可能等到所有数据到了才开始处理。当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处理,例如:在过去的1分钟内有多少用户点击了我们的网页。在这种情况下,我们必须定义一个窗口,用来收集最近一分钟内的数据,并对这个窗口内的数据进行计算。

窗口可以是时间驱动(Time Window,例如:每30秒钟),也可以是数据驱动(Count Window,例如:每一百个元素)。一种经典的窗口分类可以分成:翻滚窗口(Tumbing Window,无重叠),滚动窗口(Sliding Window,有重叠),会话窗口(Session Wi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李孟聊人工智能

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值