当前位置: 首页 > 知识库问答 >
问题:

从Kafka的主题中删除一条信息

莫承运
2023-03-14

我是使用Kafka的新手,我有一个问题。如果我知道主题、偏移量和分区,我可以只删除一条消息吗?如果没有,还有什么其他选择吗?

共有1个答案

宋鸿云
2023-03-14

即使您知道Kafka主题的分区和偏移量,也无法从该主题中删除单个消息。

请记住,Kafka不是一个键/值存储,而是一个主题。)表示数据流的日志。

如果您正在寻找删除单个消息的替代方法,您可以

>

  • 让您的消费者客户忽略该消息

    启用日志压缩并发送tompstone消息

    编写一个简单的作业(KafkaStreams)来消费数据,过滤掉一条消息,并生成一个新主题的所有消息。

  •  类似资料:
    • 我想删除所有空的Kafka主题(定期从cron)。我在文档中找不到一个这样做的命令?转到脚本: 但是,这包括已经过期的消息?在不使用消费者的情况下,如何在主题中找到实际的当前计数?

    • 因此,我是使用Apache Kafka的新手,我正在尝试创建一个简单的应用程序,以便我可以尝试更好地理解API。我知道这个问题在这里被问了很多,但是我该如何清除存储在主题上的消息/记录? 我看到的大部分回答都是说更改消息保留时间或者删除

    • 向源生成特殊的clear-message,这将导致聚合的消息变为空 将消息直接写入具有空数据的中间主题 另一种方式,也许kafka-streams已经有一个API调用了? 加分问题:如果我知道我不想让消息坐在中间话题中的时间超过6个月,我可以指示kafka-streams创建6M留存的中间话题,还是在我运行App之前我自己手动创建话题?

    • 但是,这将导致以下消息: 如何删除此主题?

    • 距今已过去数小时,话题仍未删除。 我看到了一些建议,建议我将放在我的中,然后重新启动Kafka。我试过这个。没奏效。 (为什么默认不设置这个?) 我可以关闭kafka和zookeeper,运行,然后再次启动zookeeper和kafka。但这是相当激烈的。确实应该有一些方法来说服实际上删除一个主题?

    • 我正在测试Kafka主题的工作,但我不明白删除是如何工作的。 我创建了一个简单的主题 在此之后,我创建了一个生产者,并发送了一些消息。消费者没有问题地接收到消息。但我预计,一分钟后,如果重复了消费者,它不会显示消息,因为它们肯定已经被删除了。但这种行为不会发生。 如果我用ksql创建一个查询,那也是一样的。消息总是会出现。 我想我不明白删除是怎么回事。 3)制作人留言 4)消费者 消费者会显示这四