【发布时间】:2019-04-21 06:08:39
【问题描述】:
我正在使用 Kafka Streams 从集群中的主题中读取数据,并且我想根据其 JSON 内容过滤消息,即:
JSON 格式:
{
"id": 1
"timestamp": "2019-04-21 12:53:18",
"priority": "Medium",
"name": "Sample Text",
"metadata": [{
"metric_1": "0",
"metric_2": "1",
"metric_3": "2"
}]
}
我想从输入主题(我们称之为“输入主题”)中读取消息,过滤它们(假设我只想要优先级为“低”的消息),然后汇总这些消息,并将它们发送到另一个主题(“过滤主题”)
除了创建流本身及其配置之外,我没有那么多代码。我在想我必须配置一些关于 Serdes 的东西,但我不确定如何配置。我也尝试过使用 JSON 反序列化器,但我无法让它工作。
首先,这可能吗?如果是这样,正确的做法是什么?
【问题讨论】:
-
then aggregate到底是什么意思?要按时间汇总吗? -
有可能。您需要阅读消息,将其反序列化为您的自定义对象,然后根据该自定义对象的字段进行过滤,然后将其发布回另一个主题。
-
你可以使用 spring 的 Kafka 库,也可以使用 Apache 的 Kafka 库,甚至 spring cloud 库。
-
@VasiliySarzhynskyi “聚合”是指将过滤后的消息发送到单独的主题,就是这样
标签: java json apache-kafka apache-kafka-streams