我们有一个flink应用程序,它按键对2个kafka主题执行基于窗口的连接。连接配置如下:
window-type: TumblingWindow
window-duration: 10s
allowed-lateness: 10s
所以,当我们设置流从 earliest
抵消。似乎窗口边界仍然是基于系统时钟设置的,因此拒绝了最早的事件,因为它们依赖于Kafka retention-period
可能和你一样老 14 days
.
有没有一个建议的方法来处理这个问题,或者在我的理解上有差距。
1条答案
按热度按时间xdnvmnnf1#
我假设您已经配置了要使用的环境
EventTime
,并且您正在使用从kafka读取的记录中包含的数据来分配水印和时间戳。如果是这样,那么它应该正常运行。请注意,如果其中一个主题的事件比另一个主题的事件早得多,则您将获得拒绝(旧)事件。如果您不想增加延迟,可以使用
BoundedOutOfOrdernessTimestampExtractor
设置时间戳和水印,并将最大无序度设置为两个主题之间的最大时间偏移。如果你这么做了,我想你应该用0来表示允许的迟到。