gpt4 book ai didi

apache-flink - Apache Flink 水印策略

转载 作者:行者123 更新时间:2023-12-03 08:23:47 25 4
gpt4 key购买 nike

我们正在构建一个流处理管道来处理/摄取 Kafka 消息。我们使用的是 Flink v1.12.2。在定义源水印策略时,在官方文档中,我遇到了两种开箱即用的水印策略;对于有界无序和对于单调时间戳。我确实浏览了 javadoc,但没有完全理解何时以及为什么应该使用一种策略而不是另一种策略。时间戳基于事件时间。谢谢。

最佳答案

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

对于 Kafka,如果您让 kafka 源运算符(operator)应用水印策略(推荐),那么它将将该策略单独应用于每个分区。在这种情况下,Kafka 源的每个实例都会生成每个分区水印的最小值(对于该实例处理的分区)。在这种情况下,如果每个分区内的时间戳都是按顺序排列的(例如,如果您从使用日志追加时间戳的生产者进行消费,就会出现这种情况),则可以使用 forMonotonousTimestamps 。

您希望尽可能使用forMonotonousTimestamps,因为它可以最大限度地减少延迟并简化操作。

关于apache-flink - Apache Flink 水印策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67114113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com