DataStream 的 javadoc#assignAscendingTimestamps
* 为数据流中的元素分配时间戳并定期创建
* 指示事件时间进度的水印。
*
* 此方法是已知元素时间戳的数据流的快捷方式
* 在每个并行流中单调上升。
* 这样的话,系统可以完美自动生成水印
* 通过跟踪升序时间戳。
此方法假设已知元素时间戳在每个并行流中单调上升
。但实际上,几乎没有流可以保证事件时间戳按升序排列。
我想得出结论,永远不应该使用这种方法,但我会问我是否错过了一些东西(例如,何时使用它)
最佳答案
总体上我同意,但在实践中很少使用它。异常(exception)情况如下:如果使用 Kafka 作为 LogAppendTime 的源,则时间戳按每个分区的顺序排列。然后,您可以在 Flink [1] 中使用 AscendingTimestampExtractor 中的每分区水印,并且将获得相当理想的水印。
干杯,
康斯坦丁
关于apache-flink - DataStream#assignAscendingTimestamps 的实际用途是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56912526/