提问者:小点点

是否可以在Kafka中创建一个日志压缩主题,其中最旧的值通过压缩保留,用于分析目的?


是否可以在Kafka中创建一个日志压缩主题,其中最旧的值通过压缩保留(而不是新值),用于分析目的?我有一个查询要创建,比如

select k, min(d) from topic_src group by d

我正在寻找使用ksql/ksqldb/kstream的方法。最简单的

我想知道压缩是否有可能保留最旧的值,而不是最新的值。如果这是可能的,我会使用这个自定义策略创建一个新主题,以保留每个键的最旧值,并有一个ksql/kstream管道到这个新主题。

或者,我看到一种不太清晰/有效的可能性,即为最旧的值创建一个带有窗口聚合的表,然后在查询时再次汇总最旧的值。在第一个值之后,相同键上的所有后续批处理将添加无用的值。


共1个答案

匿名用户

我不认为使用log只保留最旧的值是可能的compaction.As这种策略会清理记录并在给定延迟后保留最新版本的键log.cleaner.min.compaction.lag.ms。

以下是日志压缩的一些详细说明。

https://www.quora.com/How-does-Kafka-s-log-compaction-work

https://medium.com/swlh/introduction-to-topic-log-compaction-in-apache-kafka-3e4d4afd2262

并且,主题配置是通过合流进行的。

https://docs.confluent.io/current/installation/configuration/topic-configs.html

我希望它回答了这个问题。