Apache kafka 主题中的卡夫卡搜索文本

Apache kafka 主题中的卡夫卡搜索文本,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我想搜索卡夫卡主题中的特定消息, 我找到的唯一解决方案是使用grep bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning |grep 'world\|hello' 有没有一种有效的方法 有没有一种方法可以用特定的偏移量来限制消费者,也就是说,从一开始直到in达到特定的偏移量 有没有一种有效的方法 对。你的解决方案既快又脏。如果要过滤数据,请使用Streams

我想搜索卡夫卡主题中的特定消息, 我找到的唯一解决方案是使用
grep

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning |grep 'world\|hello'
  • 有没有一种有效的方法
  • 有没有一种方法可以用特定的偏移量来限制消费者,也就是说,从一开始直到in达到特定的偏移量
  • 有没有一种有效的方法

    对。你的解决方案既快又脏。如果要过滤数据,请使用Streams API并编写有关另一主题的过滤信息

    有没有一种有效的方法

    如果您没有消息键,则没有

    如果您这样做了,那么您可以计算一个2哈希并找到分区号,然后只扫描该分区号,仍然使用
    --partition

    有没有一种方法可以用特定的偏移量来限制消费者,也就是说,从一开始直到in达到特定的偏移量

    您可以提供
    --max消息

    如果不希望始终从头开始,请添加
    --group
    ,并使用max messages参数继续运行相同的命令。这将允许使用相同的使用者组,并在完成时提交偏移量


    您还可以使用
    kafka消费群体
    command

    手动提交偏移量,我使用此工具阅读主题时,它允许各种偏移量操作。Grep是我做这件事的方式。如果你正在执行过滤类的操作,那么就使用streamsapi。如果您确实希望使用所有消息,那么请使用Consumers API。不应基于偏移执行操作。发送第1000条消息的生产者不一定位于分区中的第1000个偏移量。这与我快速而肮脏的解决方案有何不同?我不认为问题在于实际编写Java代码。仅从CLIkafka中查找事件不仅仅是他的高级API。绝对没有必要为此创建一个新的主题。我认为OP是在定期地将主题之外的东西变大。有人能帮我吗?