Java 如何查找卡夫卡主题中未删除的第一条消息
我有一个主题,里面有一些信息。保留时间结束后删除了部分邮件,包括偏移点所在的邮件和之后的许多邮件Java 如何查找卡夫卡主题中未删除的第一条消息,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我有一个主题,里面有一些信息。保留时间结束后删除了部分邮件,包括偏移点所在的邮件和之后的许多邮件 如何在主题中查找最早的现有邮件?我听说API中有一些方法,但我找不到。如果有人知道怎么做,请帮忙,因为我已经在文档中搜索过了。提前感谢。您可以将卡夫卡控制台消费者与--最大消息1和--从一开始一起使用,以获取最早的消息: kafka-console-consumer --bootstrap-server localhost:9092 --topic topic_name --from-beginni
如何在主题中查找最早的现有邮件?我听说API中有一些方法,但我找不到。如果有人知道怎么做,请帮忙,因为我已经在文档中搜索过了。提前感谢。您可以将
卡夫卡控制台消费者
与--最大消息1
和--从一开始
一起使用,以获取最早的消息:
kafka-console-consumer --bootstrap-server localhost:9092 --topic topic_name --from-beginning --max-messages 1
您可以使用Consumer API中的方法查找可用的最旧消息
例如:
Properties configs = new Properties();
configs.put("bootstrap.servers", "localhost:9092");
configs.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
configs.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
try (KafkaConsumer<String, String> consumer = new KafkaConsumer<>(configs);) {
Map<TopicPartition, Long> offsets = consumer.beginningOffsets(Collections.singletonList(TP));
System.out.println(offsets);
}
Properties configs=新属性();
configs.put(“bootstrap.servers”,“localhost:9092”);
configs.put(“key.deserializer”、“org.apache.kafka.common.serialization.StringDeserializer”);
configs.put(“value.deserializer”、“org.apache.kafka.common.serialization.StringDeserializer”);
try(卡夫卡消费者=新卡夫卡消费者(配置);){
映射偏移量=consumer.beginingoffset(Collections.singletonList(TP));
系统输出打印项次(偏移量);
}
将打印如下内容:
{offset-test-0=0}
在此示例中,偏移量0是可用的最旧偏移量