整体没啥问题,但是我看你说【假如第一个数据的事件时间刚好为12:00的,那么此时水位线应该在11:59】,这个 Watermark 跟 allowedLateness 没啥关系哈,是独立的逻辑。
文档层面你可以看看[1],源码你可以看看[2]里面检索 allowedLateness Best, tison. [1] https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/operators/windows.html#allowed-lateness [2] https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/runtime/operators/windowing/WindowOperator.java Benchao Li <[email protected]> 于2020年5月24日周日 下午9:56写道: > Hi, > 你理解的是正确的,进入哪个窗口完全看事件时间,窗口什么时候trigger,是看watermark。 > > smq <[email protected]> 于2020年5月24日周日 下午9:46写道: > > > > > > 使用时间时间窗口处理关于数据延迟,加入允许延迟时间为1min,窗口大小是10min,那么在12:00-12:10这个窗口中,如果事件时间是在12:09:50这个数据在12:10:50这个数据到达,并且此时水位线刚好在12:09:50,那么这个延迟数据可以被处理,这个可以理解。 > > > > > 但是,假如第一个数据的事件时间刚好为12:00的,那么此时水位线应该在11:59,这个数据能进入12:00-12:10这个窗口被处理吗。按道理来说应该被正确处理。那么这样的话,进入窗口是按照事件时间,触发是按照水印时间。不知道这么理解对不对,这个问题想了很久。 > > > > -- > > Best, > Benchao Li >
