flink-cep-timeout模式不由时间窗口定义

8oomwypt  于 2021-06-25  发布在  Flink
关注(0)|答案(1)|浏览(338)

我正在使用 PatternTimeoutFunction 用于在事件序列超出定义的时间窗口时丢弃它。
我设置水印如下

public Watermark checkAndGetNextWatermark(Event lastElement, long extractedTimestamp) {
    return new Watermark(extractedTimestamp);
}

当模式超时时, timeoutTimestamp 应等于第一个事件时间戳+时间窗口的值
但在接收到下一个水印后,会触发超时。是在接收到下一个水印后触发超时还是基于 timeWindow 到期?

h5qlskok

h5qlskok1#

如果使用事件时间,则接收水印会触发超时。因为只有在接收到该时间戳的水印时,才能确保在某个点之前看到所有元素。
这意味着超时时间戳可以大于第一个事件时间戳+窗口长度,具体取决于下一个水印的值。因此,超时时间戳实际上是当您意识到模式超时时的事件时间。

相关问题