man*_*r e 4 apache-kafka kafka-consumer-api
我们是否有任何选择,例如从 Kafka 主题中获取最近的 10/20/ 等消息。我可以看到 --from-beginning 选项来从主题中获取所有消息,但如果我只想首先获取少数消息,最后,中间或最新 10. 我们有一些选择吗?
Gio*_*ous 10
您可以使用--max-messages N
来获取N
主题的第一条消息。
例如,要获取前 10 条消息,请运行
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --max-messages 10
Run Code Online (Sandbox Code Playgroud)
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --max-messages 10
Run Code Online (Sandbox Code Playgroud)
要获取最后 N 条消息,您需要定义一个特定的分区和偏移量:
bin/kafka-simple-consumer-shell.sh --bootstrap-server localhost:9092 --topic test--partition testPartition --offset yourOffset
Run Code Online (Sandbox Code Playgroud)
同样,对于这种情况,您必须同时定义分区和偏移量。例如,您可以运行以下命令以从您选择的偏移量开始获取 N 条消息:
bin/kafka-simple-consumer-shell.sh --bootstrap-server localhost:9092 --topic test--partition testPartition --offset yourOffset --max-messages 10
Run Code Online (Sandbox Code Playgroud)
如果您不想坚持使用二进制文件,我建议您使用kt
具有更多选项和功能的 Kafka 命令行工具。
有关更多详细信息,请参阅文章如何在 Apache Kafka 中获取特定消息
归档时间: |
|
查看次数: |
12951 次 |
最近记录: |