Ben*_*obi 8 apache-kafka apache-kafka-streams
我正在使用物化 KTable 与我的 KStream 进行左连接(而流是左侧)。
但是,它似乎立即处理,无需等待当前版本的 KTable 加载。
我在 KTable 的源主题中有很多值,当我启动应用程序时,很多连接都失败了(好吧,不是真的,因为它是左连接)。
我可以让它延迟启动以便等待初始主题加载吗?
Mat*_*Sax 11
处理在 Kafka Streams 中是时间同步的。因此,表输入主题和流输入主题是根据记录时间戳顺序处理的。这在语义上是合理的,因为在流表连接中,您不想将流记录与旧版本或新版本的 连接KTable
,而是基于流记录时间戳使用正确的版本。
如果您的数据没有正确的时间戳,您可以尝试为 via 指定自定义时间戳提取器builder.table(..., Consumed.with(...))
以返回确保正确行为的时间戳(即,可能小于第一个流记录的时间戳?)
请注意,正确的时间戳同步需要 Kafka Streams 2.1。旧版本仅以尽力而为的方式同步时间,可能无法提供您想要的行为。有关更多详细信息,请参阅 KIP-353。
Kafka 3.0 提供了更多时间戳同步改进:https : //cwiki.apache.org/confluence/display/KAFKA/KIP-695%3A+Further+Improve+Kafka+Streams+Timestamp+Synchronization
归档时间: |
|
查看次数: |
2775 次 |
最近记录: |