ksql表中的数据重复如何在同一ROWKEY更新上更新ksql表的行?

时间:2019-04-05 10:59:46

标签: apache-kafka ksql

我在table的{​​{1}}中创建了一个ksql。将一组数据推送到主题并填充表格。发表了一个查询,也得到了回应。我已经第二次将相同的数据推入kafka topic中,并且再次加载topic。现在,当我查询时,响应是2行而不是1行,带有2个不同的table时间戳。

我相信ROWTIME应该覆盖相同的ksql table值并保留最新值。但这没有发生。我的理解正确吗?

对于key,应该如何做才能保持最新值并丢弃插入/更新同一键上的先前值? 谢谢

1 个答案:

答案 0 :(得分:0)

据我所知,不可能应用日志压缩策略来使每个密钥准确保持一条消息。即使您设置了cleanup.policy=compact(主题级别)或log.cleanup.policy=compact(全局级别),也无法保证仅保留最新消息,而压缩较旧的消息。

根据official Kafka documentation

  

日志压缩为我们提供了更精细的保留机制,因此我们   确保至少每个主键保留最后一次更新