我有以下代码可根据事件时间每小时汇总数据
KStream<Windowed<String>, SomeUserDefinedClass> windowedResults = inputStream
.groupByKey(Grouped.with(Serdes.String(), new SomeUserDefinedSerde<>()))
.windowedBy(TimeWindows.of(Duration.ofMinutes(60)).grace(Duration.ofMinutes(15)))
.aggregate
(
// do some aggregation
)
.suppress(Suppressed.untilTimeLimit(Duration.ofMinutes(75), Suppressed.BufferConfig.unbounded()))
.toStream();
问题是,如果我没有接收到具有相同键和时间戳晚于时限+宽限期的数据,则无法关闭时间窗口并发出结果。
我想知道在给定时间过去之后(不用等待相同键的任何新数据),可以用来确保关闭窗口并发出数据的替代方法。
是否有一个选项/功能可以基于实时而不是事件时间来设置直到时间限制参数?
注意:这个问题不是关于为什么不关闭TimeWindow的问题,而是关于在没有新数据的情况下如何关闭它的问题