Flink时间语义
事件事件 Event Time
处理时间 Process Time
进入时间 Ingestion Time
Watermark主要作用,及触发机制
Watermark是一种很亮Event Time进展的机制,用于处理乱序事件,单调递增的时间戳,数据流中的Wtermark用于表示timestamp小于Watermark的数据,都已经到达;
watermark(水位线,包含延迟) > 窗口结束时间
消息超过watermark的时间会丢失数据?
allowedLateness也是Flink处理原序事件的一个特别重要的特性,默认情况下,当wartermark通过window后,再进来的数据,也就是迟到或者晚到的数据就会被丢弃掉了,但是有时候我们希望在一个可以接受的范围内,迟到的数据,页可以被处理或者计算,这就是allowedLateness产生的原因
迟到的元素也可以使用侧输出(side output)特性被重定向到另外的一条流中,迟到的元素所组成的侧输出流可以继续处理或者sink到持久化