Flink中,如何使用滚动窗口?
滚动窗口下窗口之间之间不重叠,且窗口长度是固定的。
我们可以用TumblingEventTimeWindows和TumblingProcessingTimeWindows创建一个基于Event Time或Processing Time的滚动时间窗口。
窗口的长度可以用org.apache.flink.streaming.api.windowing.time.Time中的seconds、minutes、hours和days来设置。
下面的代码展示了如何使用滚动窗口。
代码中最后一个例子,我们在固定长度的基础上设置了偏移(Offset)。
默认情况下,时间窗口会做一个对齐,比如设置一个一小时的窗口,那么窗口的起止时间是[0:00:00.000 - 0:59:59.999)。
如果设置了Offset,那么窗口的起止时间将变为[0:15:00.000 - 1:14:59.999)。Offset可以用在全球不同时区设置上,如果系统时间基于格林威治标准时间(UTC-0),中国的当地时间可以设置offset为Time.hours(-8)。

注意:
时间窗口使用的是timeWindow()也可以使用window(),比如,input.keyBy(...).timeWindow(Time.seconds(1))。timeWindow()是一种简写。
