我正在使用 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...
最佳答案
Flink 的窗口与 epoch 对齐(而不是第一个事件),所以如果作业在 3:25 部署,第一个窗口大约是从 3:00:00 到 3:59:59.999 的时间间隔,并将在不久之后制作(基于水印)。
请注意,您可以将偏移量传递给构造函数,因此如果希望窗口在整点过后 10 分钟结束,您可以通过指定
.window(TumblingEventTimeWindows.of(Time.hours(1), Time.minutes(10)))
关于java - Flink Tumble Window 触发时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60634265/