繁体   English   中英

如何使用一些过滤器使用来自 Kafka 主题的消息?

[英]How to consume message from Kafka topic using some filter?

我正在用 Java 编写一个简单的 Kafka 生产者-消费者程序,我在其中生成了如下数据:

  • 键:“a”值:“{25,223,465}”

  • 键:“a”值:“{26,323,56}”

  • 键:“a”值:“{62,256,652}”

  • 键:“a”值:“{26,227,42}”

  • 键:“b”值:“{4352,234,65342}”

  • 键:“b”值:“{243,22347,434}”

我能够消耗使用的消息consumer.poll(10000)但现在我想消费数据像多少a记录,有多少b记录存在卡夫卡话题。

如果我将此与 SQL 相关联

select count(*) from 'mytopic' where key='a'

select count(*) from 'mytopic' where key='b'

如果可能,请提供我的 Java 代码

Kafka 不是这样工作的,消费者只是从分区中最新提交的偏移量(或从头开始)并按顺序读取所有消息。 您可以做的是在您的应用程序中进行过滤。 出于您的目的,您可以使用基于 Kafka Streams API 的应用程序,而不是仅使用消费者 API 编写应用程序,该应用程序为您提供用于执行映射、过滤等操作的 DSL ……真的很容易。 更多信息在这里:

https://kafka.apache.org/documentation/streams/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM