我正在使用 PatternTimeoutFunction
用于在事件序列超出定义的时间窗口时丢弃它。
我设置水印如下
public Watermark checkAndGetNextWatermark(Event lastElement, long extractedTimestamp) {
return new Watermark(extractedTimestamp);
}
当模式超时时, timeoutTimestamp
应等于第一个事件时间戳+时间窗口的值
但在接收到下一个水印后,会触发超时。是在接收到下一个水印后触发超时还是基于 timeWindow
到期?
1条答案
按热度按时间h5qlskok1#
如果使用事件时间,则接收水印会触发超时。因为只有在接收到该时间戳的水印时,才能确保在某个点之前看到所有元素。
这意味着超时时间戳可以大于第一个事件时间戳+窗口长度,具体取决于下一个水印的值。因此,超时时间戳实际上是当您意识到模式超时时的事件时间。