Flink滚动窗口触发时间

时间:2020-03-11 10:48:46

标签: java apache-kafka stream apache-flink windowing

我正在使用Flink汇总来自kafka主题的数据。我正在使用1小时的滚动窗口,并将时间特性设置为“事件时间”。我还使用AscendingTimestampExtractor并根据json中的特定字段值将水印分配给输入。

env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);

我们可以假设用于水印的JSON字段的时间值类似于系统时钟的时间值。

如果我在下午3:25部署作业,什么时候可以期望flink汇总输出?是下午4:00,下午5:00还是下午3:25下午-4:25,下午4:25下午-5:25 ....

1 个答案:

答案 0 :(得分:1)

Flink的窗口与纪元对齐(而不是第一个事件),因此,如果作业是在3:25部署的,则第一个窗口的间隔约为3:00:00到3:59:59.999,并将在此后不久制作(基于水印)。

请注意,您可以将偏移量传递给构造函数,因此如果希望窗口在每小时的10分钟后结束,则可以通过指定

.window(TumblingEventTimeWindows.of(Time.hours(1), Time.minutes(10)))
相关问题