在实际情况下,数据流通常是无限的,就像通道中的水流一样,连续流向其他地方的管道。这显然不是处理和计算的。
Flink的窗口(窗口)是处理无界数据流,将无线数据流切入有限的流,然后将有限的流数据分配到指定的有限尺寸枪管进行分析和计算。
Flink中有两种类型的窗口:。时间窗口再次包含:翻滚窗口,滑动窗口,会话窗口。计数窗口包含:滚动计数窗口和滑动计数窗口。
翻滚窗户
将每个元素分配给指定窗口的窗口大小。滚动窗口中有一个固定的尺寸,不会重叠。
换句话说:如果制定了30分钟的时间间隔滚动窗口,然后在30分钟内将无绑定的数据切成有限的数据集。适用场景:执行统计计算。进行每个时间段的聚合计算。
滑动窗口(滑动窗口)
注意:滑动窗口分配设备将元素分配到固定长度窗口,类似于滚动窗口。窗口的大小由窗口大小参数配置,并且控制滑动参数的滑动参数的滑动参数的频率。因此,如果滑动窗口小于窗口的大小,则窗口可能重叠,在这种情况下,该元素将被分配给多个窗口。
适用的方案:(询问最近5分钟内某个接口的故障率,以决定是否向警察报告是否向警察报告)统计时间。
会话窗口(会话窗口)
当它在固定的时间周期中未接收元素时,即生成非活动间隔,并且该窗口将被关闭。会话窗口由会话间隔配置。此会话间隔定义了非活动循环的长度。当生成此非活动周期时,当前会话将关闭,然后将后续元素分配给新的会话窗口,请访问
窗口分配窗口()
它可用于定义flink中的窗口,然后根据此窗口进行一些聚合或其他处理操作。注意该方法必须稍后使用。该方法收到的输入参数负责分布每个输入的数据在右边。Flink提供通用的窗口尺寸:翻滚窗口,滑动窗口,会话窗口,全局窗口,全局窗口,全局窗口
代码显示如下:
Flink提供了一种更简单的方法来定义时间窗口和计数窗口。
时风
TimeWindow将在指定的时间范围内形成所有数据中的窗口,并一次计算窗口中的所有数据。时间间隔可以通过,等待其中一个以指定。
Countwindow
CountWindow根据窗口中同一密钥元素的数量触发执行。执行执行时,仅计算与窗口大小相对应的密钥数。
CountWindow的窗口_size是指同一关键元素的数量,而不是所有元素输入的总数。
创建不同类型的Windows
翻滚的时间窗口
滑动时间窗口(滑动时间窗口)
==以下代码中的sliding_size设置设置为5s,即每5s计算一次输出结果。每个计算的窗口范围都是15s之内的所有元素。==
会话窗口(会话窗口)
翻滚窗户(翻滚窗户)
==默认的countwindow是一个滚动窗口。您只需要指定窗口的大小即可。当元素数量达到窗口大小时,将触发窗口的执行。==
滑动计数窗口(滑动计数窗口)
==以下代码中的sliding_size设置设置为2,即计算两个相同密钥的每个数据,每个计算的窗口范围为10个元素。=====
窗口功能
Flink定义了窗口中收集的数据的计算操作,可以将其分为两类:增量聚合函数,完整的窗口函数。
案例代码:
本地测试:结果的结果成功。
案例代码:
本地操作测试:结果输出结果
如何在Winodws操作系统下使用NC命令进行代码测试:如何在Windows操作系统中使用NC命令
其他API
案例代码:
这张照片来自互联网,窗口API的总查看
当心:
原始:https://juejin.cn/post/7111134425101893662