【发布时间】:2018-05-11 14:58:49
【问题描述】:
如果我知道消息密钥,是否可以从 Kafka 紧凑主题中读取单个消息?
我在消费者 Javadoc 中没有找到任何看起来可以工作的东西。
【问题讨论】:
标签: apache-kafka kafka-consumer-api
如果我知道消息密钥,是否可以从 Kafka 紧凑主题中读取单个消息?
我在消费者 Javadoc 中没有找到任何看起来可以工作的东西。
【问题讨论】:
标签: apache-kafka kafka-consumer-api
Kafka 主题没有在键上建立索引,它们由它们进行分区。
是的,您可以读取单个消息,而不管压缩如何,但您不能读取从特定键开始的主题,只能读取偏移量。
知道一个键,你可以find the partition(假设使用默认分区器)。
但这是你能做的最好的事情......你必须扫描整个分区,然后找到一个键的偏移量
例如,使用kafkacat,打印一个键和偏移量
kafkacat -C -b kafka:9092 -t topic-name -p 0 -f "key: %k; offset: %o\n" | grep key-value
【讨论】: