Apache kafka 墓碑和钥匙库清理
我有几个Kafka消费者是用Java实现的,我正在实现一个独立的应用程序来检查记录并删除它们。希望是卡夫卡在压缩主题时会删除状态存储 现在。。。我对卡夫卡创建的不同类型的商店感到有点困惑。对于每种类型的商店,我想知道:Apache kafka 墓碑和钥匙库清理,apache-kafka,kafka-consumer-api,apache-kafka-streams,Apache Kafka,Kafka Consumer Api,Apache Kafka Streams,我有几个Kafka消费者是用Java实现的,我正在实现一个独立的应用程序来检查记录并删除它们。希望是卡夫卡在压缩主题时会删除状态存储 现在。。。我对卡夫卡创建的不同类型的商店感到有点困惑。对于每种类型的商店,我想知道: 当卡夫卡删除相应主题中的旧记录时,它是否被删除 当您删除相应主题中的墓碑记录时,是否将其删除 我们还在坚持吗 我看到的商店类型如下: KSTREAM-AGGREGATE-STATE-STORE变更日志 KSTREAM-AGGREGATE-STATE-STORE重新分区 (KT
- 当卡夫卡删除相应主题中的旧记录时,它是否被删除
- 当您删除相应主题中的墓碑记录时,是否将其删除
- 我们还在坚持吗
retention.ms
配置(如果未明确指定,默认为7天)自动清除这些主题(#2和#4)由Kafka Streams使用cleanup.policy=delete
#2和#4创建的不是存储-它们是由Kafka Streams创建的内部主题
无法明确清除这些重新分区主题,但Kafka会根据Kafka服务器的
retention.ms
配置(如果未明确指定,默认为7天)自动清除这些主题(#2和#4)由Kafka Streams使用cleanup.policy=delete
创建此答案仅适用于较旧的Kafka Streams版本。在较新版本中,保留时间设置为“无穷大”,并且在下游成功处理记录后,Kafka Streams使用显式“删除请求”截断重新分区主题。此答案仅适用于较旧的Kafka Streams版本。在较新版本中,保留时间设置为“无限”,Kafka Streams使用显式“删除请求”在下游成功处理记录后截断重新分区主题。我们向流应用程序发送一条null消息,它将其作为聚合结果返回。
--我假设这不起作用,因为null
-值记录未由KStream
聚合运算符处理--您需要具有非null的“代理删除值”,如果聚合函数看到此“代理删除值”,则让其返回null
.我们向流应用程序发送一条空消息,它将其作为聚合结果返回。
--我假设这不起作用,因为null
-值记录没有被KStream
聚合运算符处理--您需要一个非空的“代理删除值”如果聚合函数看到这个“代理删除值”,则让它返回null
。