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

从Kafka主题中删除单个记录

长孙弘盛
2023-03-14

有没有办法从Kafka主题中删除单个记录?我知道有一个脚本kafka-delete-records.sh删除指定主题和分区上指定偏移量之前的记录,但是我希望能够删除我指定的偏移量上的记录。有办法做到吗?

这不是在Java而是在裸露的Kafka实例上。

共有1个答案

拓拔飞飙
2023-03-14

在压缩的主题上,您可以通过发布一条消息将记录标记为“墓碑”,该消息表示您想要用空值删除的键。在这里看到答案:Kafka不删除墓碑键

如果主题未压缩,则必须通过保留策略删除记录。不能以要删除的单个偏移为目标。

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

  • 我正在寻找一种从Kafka主题中删除(完全删除)已消费记录的方法。我知道有几种方法可以做到这一点,例如更改主题的保留时间或删除Kafka logs文件夹。但我要寻找的是一种使用Java API删除某个主题的一定数量记录的方法,如果可能的话。 我试过测试AdminClient API,特别是AdminClient。deleteRecords(recordsToDelete)方法。但如果我没弄错的话,

  • 我们有一个Kafka流聚合拓扑。我们需要控制changeLog主题的大小,以减少Kafka存储成本。因此,我们在拓扑中使用transformer(DSL API)调度标点符号,该标点符号使用KeyValueStore.delete()从stateStore中删除旧记录。 我能够验证在删除之后,在进一步调度的标点符号触发器中,删除的键不在状态存储中。但是它是否也会从changeLog主题中删除该记录

  • 你好,我正在写一个服务围棋和Kafka,我需要实现一个删除所有endpoint,将删除所有记录从一个特定的主题。然而,我找不到一个合适的方法来做到这一点。我使用Sarama库为Kafka。 到目前为止,我能找到实现删除所有的唯一两种方法是删除主题,这似乎不是处理这个问题的有效方法,第二种方法是使用Sarama库中的函数,但是这函数删除偏移量小于相应分区给定偏移量的记录。这意味着我必须先得到最新的偏

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

  • 我有几个Kafka的题目作为测试。现在我想通过清理我的Kafka主题列表来把它们全部除掉。我设置了变量,然后停止并重新启动zookeeper和kafka服务器。但什么也帮不了我。主题仍然存在,“标记为删除”。我读了这个问题,但没有找到任何答案。否则,这里建议手动移除任何主题。但我该怎么做呢?在故事的结尾,手动或通过命令行,我如何永久删除Kafka主题?