在kafka中,是否可以创建一个日志压缩主题,其中最早的值通过压缩来保留,以便进行分析?

y1aodyip  于 2021-06-05  发布在  Kafka
关注(0)|答案(1)|浏览(344)

在kafka中,是否可以创建一个日志压缩主题,其中最早的值通过压缩(而不是新值)来保留,以便进行分析?我要创建一个查询

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

我正在研究如何使用ksql/ksqldb/kstreams。我想到的最简单、最有效的方法是创建一个日志压缩主题或ktable,它为每个键保留最早的值。
我想知道是否有一个压缩的可能性,以保持最古老的价值观,而不是最新的。如果这是可能的,我会用这个自定义策略创建一个新主题,以保留每个键的最旧值,并有一个指向这个新主题的ksql/kstreams管道。
或者,我看到了一种不太清晰/高效的可能性,即创建一个表,对最早的值进行窗口聚合,然后在查询时再次对最早的值进行汇总。在这里,在第一个值之后,相同键上的所有后续批处理将添加无用的值。

wh6knrhe

wh6knrhe1#

我认为使用log compression只保留最旧的值是不可能的,因为这个策略会清除记录,并在log.cleaner.min.compression.lag.ms给定lag之后保留最新版本的键。
下面是对原木压缩的一些详细解释。
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
我希望它能回答这个问题。

相关问题