ksql 中的重复数据 table |如何在同一个 ROWKEY 更新中更新 ksql table 的行?
Duplicate data in ksql table | How to update the rows of ksql table on same ROWKEY update?
我从 kafka topic
在 ksql
中创建了一个 table
。将一组数据推送到主题并填充 table。发布了一个查询并得到了回复。我第二次将相同的数据推送到 topic
并再次加载 table
。现在,当我查询时,响应是 2 行而不是 1 行,有 2 个不同的 ROWTIME
时间戳。
我相信如果相同的 key
出现并保留最新值,ksql table
应该覆盖该值。但这并没有发生。我的理解正确吗?
table
应该怎么做才能保留最新值并丢弃同一键上的先前值 inserted/updated?
谢谢
据我所知,不可能应用日志压缩策略来完全每个键一条消息。即使您设置 cleanup.policy=compact
(主题级别)或 log.cleanup.policy=compact
(全局级别),也不能保证只保留最新的消息而压缩旧的消息。
根据official Kafka documentation:
Log compaction gives us a more granular retention mechanism so that we
are guaranteed to retain at least the last update for each primary key
我从 kafka topic
在 ksql
中创建了一个 table
。将一组数据推送到主题并填充 table。发布了一个查询并得到了回复。我第二次将相同的数据推送到 topic
并再次加载 table
。现在,当我查询时,响应是 2 行而不是 1 行,有 2 个不同的 ROWTIME
时间戳。
我相信如果相同的 key
出现并保留最新值,ksql table
应该覆盖该值。但这并没有发生。我的理解正确吗?
table
应该怎么做才能保留最新值并丢弃同一键上的先前值 inserted/updated?
谢谢
据我所知,不可能应用日志压缩策略来完全每个键一条消息。即使您设置 cleanup.policy=compact
(主题级别)或 log.cleanup.policy=compact
(全局级别),也不能保证只保留最新的消息而压缩旧的消息。
根据official Kafka documentation:
Log compaction gives us a more granular retention mechanism so that we are guaranteed to retain at least the last update for each primary key