duplicate data in ksql table |如何在同一rowkey update上更新ksql表的行?

knpiaxh1  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(299)

我创造了一个 tableksqlkafka topic . 将一组数据推送到主题并填充表。发布了一个查询,也得到了回复。这是我第二次将相同的数据推送到 topic 以及 table 再次加载。现在,当我查询时,响应是2行,而不是1行和2行 ROWTIME 时间戳。
我相信 ksql table 如果相同,则应覆盖该值 key 输入并保留最新值。但那不会发生。我的理解正确吗?
应该为未来做些什么 table 在插入/更新的同一个键上保留最新值并放弃以前的值?谢谢

kse8i1jr

kse8i1jr1#

据我所知,不可能应用日志压缩策略来为每个密钥保留一条消息。即使你设定了 cleanup.policy=compact (主题级)或 log.cleanup.policy=compact (全局级别),不能保证只保留最新的消息,而压缩较旧的消息。
根据Kafka官方文件:
日志压缩为我们提供了更细粒度的保留机制,这样我们就可以保证至少为每个主键保留最后一次更新

相关问题