开源组件Flink的窗口(Window)常见API介绍及调用
我是来自本际云服务器推荐网的小编小本本,今天为大家介绍一下Flink窗口常见API及调用方法。

Window计算
流式计算中,窗口(Window)是针对一定时长或数量的数据进行统计的方式。比如需要实时统计一分钟内某台机器的CPU使用率平均值、最大值或最小值,就需要将实时流数据按一分钟的大小根据IP进行分区缓存,统计完成后再按需求进行某种操作。
Flink提供了一些按时间和数量进行统计的窗口算子,其中按时间进行划分的窗口称为TimeWindow,包括TumblingTimeWindow滚动时间窗口、SlidingTimeWindow滑动时间窗口和SessionTimeWindow会话窗口。按元素个数进行划分的窗口则称为CountWindow,包括TumblingCountWindow滚动数量窗口和SlidingCountWindow滑动数量窗口。
常见API介绍及调用
1. TumblingTimeWindow
滚动时间窗口,窗口之间没有数据重叠,各个窗口刚好在临界点分开,每个数据只会落在一个窗口内。
调用方式:
DataStream.keyBy(字段名称)
.window(TumblingEventTimeWindows.of(Time.minutes(1)))
.[其他操作]
2. SlidingTimeWindow
滑动时间窗口基于滚动窗口,增加了窗口滑动时间,数据可以存在多个窗口中。
调用方式:
DataStream.keyBy(字段名称)
.window(SlidingEventTimeWindows.of(Time.minutes(5), Time.seconds(10)))
.[其他操作]
3. SessionTimeWindow
会话窗口根据间隔时间来进行分组,缓存一段时间无数据输入的数据。
调用方式:
DataStream.keyBy(字段名称)
.window(EventTimeSessionWindows.withGap(Time.minutes(5))).allowedLateness(Time.seconds(10))
.[其他操作]
4. TumblingCountWindow
滚动数量窗口,和滚动时间窗口类似,只是根据固定数据个数触发。
调用方式:
DataStream.keyBy(字段名称)
.countWindow(100)
.[其他操作]
5. SlidingCountWindow
滑动数量窗口,和滑动时间窗口类似,只是根据固定数据个数触发。
调用方式:
DataStream.keyBy(字段名称)
.countWindow(1000, 100)
.[其他操作]
以上就是Flink窗口常见API的介绍及调用方法,希望对大家有所帮助。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6003.html
