java - Flink Tumble Window 触发时间

标签 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...

最佳答案

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/

相关文章:

java - 简单的 Xml - 不保留元素的顺序?

java - 在 osx "the import java.lang.invoke cannot be resolved"上构建 WALA

java - 卡夫卡消费者。 commitSync 与 commitAsync

apache-kafka - 每个主题的日志保留字节不适用于 kafka

node.js - 具有直通功能的重复 Gulp 乙烯基流 - `TypeError: Invalid non-string/buffer chunk`

java - Spring Boot 监控 JDBC 池 Activity

java - 计算按钮点击次数

docker - Kafka Broker for Hyperledger Fabric无法建立连接

android - Android AudioTrack类,用于播放钢琴声音

scala - 如何在 scala 中查找流中的第一个重复项