Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache-Flink水印策略_Apache Flink_Flink Streaming - Fatal编程技术网

Apache-Flink水印策略

Apache-Flink水印策略,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我们正在构建一个流处理管道来处理/接收卡夫卡消息。我们使用的是Flink v1.12.2。在官方文档中定义源水印策略时,我遇到了两种现成的水印策略;用于边界自动识别和格式一致的时间戳。我读过javadoc,但不完全理解何时以及为什么应该使用一种策略而不是另一种。时间戳基于事件时间。谢谢。如果时间戳从未出现问题,或者如果您愿意将所有出现问题的事件视为延迟事件,则应使用FormonoonusTimestamps。另一方面,如果无序时间戳对于应用程序来说是正常的,那么您应该使用forboundedAu

我们正在构建一个流处理管道来处理/接收卡夫卡消息。我们使用的是Flink v1.12.2。在官方文档中定义源水印策略时,我遇到了两种现成的水印策略;用于边界自动识别和格式一致的时间戳。我读过javadoc,但不完全理解何时以及为什么应该使用一种策略而不是另一种。时间戳基于事件时间。谢谢。

如果时间戳从未出现问题,或者如果您愿意将所有出现问题的事件视为延迟事件,则应使用
FormonoonusTimestamps
。另一方面,如果无序时间戳对于应用程序来说是正常的,那么您应该使用
forboundedAutoforderness

对于Kafka,如果您让Kafka源操作符应用水印策略(推荐),那么它将分别将该策略应用于每个分区。在这种情况下,Kafka源的每个实例将生成每个分区的最小水印(对于该实例处理的分区)。在这种情况下,如果时间戳在每个分区内是按顺序排列的,则可以使用
FormonOnousTimestamps
(例如,如果您从使用日志附加时间戳的生产者处消费,情况就是这样)


您希望尽可能使用
格式的统一时间戳
,因为它可以最大限度地减少延迟并简化工作。

谢谢David,解释非常有用。