在Kafka中,是否可以创建一个日志压缩主题,通过压缩保留最旧的值(而不是新的值),以达到分析的目的?我有一个查询要创建这样的主题
select k, min(d) from topic_src group by d
我正在寻找使用ksql ksqldb ksstream.The最简单& 最有效的方法,在我的脑海中是一个日志压实的主题或ktable被创建,保留每个键的最古老的值。
我想知道是否有可能让压实保留最老的值,而不是最新的值。如果可以的话,我会用这个自定义策略创建一个新的主题,保留每个键的最旧值,并有一个ksql kstreams管道到这个新主题。
另外,我看到一种不太有效的可能性,即为最老的值创建一个窗口聚合表,然后在查询时,再次将最老的值汇总。这里在第一个值之后,后续所有对相同键的批处理都会增加没有用的值。
我认为不可能只保留最旧的值使用日志压实.因为这个策略清理记录,并保留最新版本的键后给定的滞后log.cleaner.min.compaction.lag.ms。
下面是对日志压实的一些详细解释。
https:/www.quora.comHow-does-Kafka-s-log-compaction-work
https:/medium.comswlhintroduction-to-topic-log-compaction-in-apache-kafka-3e4d4afd2262。
而且,主题配置的由confluent。
https:/docs.confluent.iocurrentinstallationconfigurationtopic-configs.html。
希望能解答大家的疑问。