我是新手在使用Kafka,我有一个问题。如果我知道主题、偏移量和分区,我能否仅删除主题中的一个消息?如果不能,是否有任何替代方案?
我是新手在使用Kafka,我有一个问题。如果我知道主题、偏移量和分区,我能否仅删除主题中的一个消息?如果不能,是否有任何替代方案?
即使您知道消息所在的分区和偏移量,也无法从Kafka主题中删除单个消息。
请记住,Kafka不是键/值存储,而主题实际上是表示数据流的追加日志。
如果您正在寻找删除单个消息的替代方法,您可以:
让您的消费者客户端忽略该消息
启用日志压缩,并发送一条tombstone消息来代替
编写一个简单的作业(KafkaStreams)来消费数据,过滤掉该消息并将所有消息生成到新主题中。
<ConsumerNameHere>Failed
事件追加到主题的末尾。这种方法涉及在消费者内部移动指针。<ConsumerNameHere>Failed
事件可以包含对原始未处理事件的引用以及尝试操作的记录。这种技术允许消费者的指针前进,同时保留重试有问题事件的手段 :) - Aaron Newton