Apache Flink中流处理之Window详解

1.关于Window

1.1Window概述

Windows are at the heart of processing infinite streams. Windows split the stream into “buckets” of finite size, over which we can applycomputations.

从官网的翻译来看意思为:窗口是处理无限流的核心。Windows将流拆分为大小有限的“bucket”,我们可以将其应用于计算。

1.2Window的类型

关于Window的可以分成两类:
1.CountWindow:按照指定的数据条数生成一个Window,与时间无关。
2. TimeWindow:按照时间生成Window。
对于TimeWindow,可以根据窗口实现原理的不同分成三类:滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)和会话窗口(Session Window)。

总体而言可以使用下图来概括一下

在这里插入图片描述

1.2.1关于TimeWindow的详细描述

1.滚动窗口:将数据依据固定的窗口长度对数据进行切片(在本质上它是属于一种特殊的滑动窗口)。
特点:时间对齐,窗口长度固定,没有重叠

在这里插入图片描述

创建方式(除WindowAll方法外,所有使用window开窗算子之前必须要对之前的数据进行KeyBy分组):

.timeWindow(Time.seconds(10))

tips: 1.10.0之后这种方法已经过时了,也可以使用下面的方法来创建

.window(TumblingProcessingTimeWindows.of(Time.seconds(5)))

2.滑动窗口: 滑动窗口是固定窗口的更广义的一种形式,滑动窗口由固定的窗口长度和滑动间隔(即滑动步长)组成。

特点:时间对齐,窗口长度固定,可以有重叠

在这里插入图片描述

创建方式:

.timeWindow(Time.seconds(10),Time.seconds(5)) 

tips: 1.10.0之后这种方法已经过时了,也可以使用下面的方法来创建

.window(SlidingProcessingTimeWindows.of(Time.seconds(10),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值