Kafka Streams:如何转换数据类型?

时间:2017-10-30 04:16:23

标签: java apache-kafka kafka-consumer-api apache-kafka-streams

我正在使用Kafka的Streams API和拓扑构建器。 我想知道如何拥有一个可以将一种数据类型转换为另一种数据类型的处理器,因此管道中的下一个处理器可以使用它。

作为一个简单的用例:

[topic]--(string)-->[processor: parse json]--(object)-->[processor 2]--(object)-->[sink]

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我假设您要将Kafka主题中的消息 values 从String转换为JSON。

您只需要两个部分:

  • 将String转换为JSON(或Pojo)的代码。选择你需要的任何东西,例如有几个Java库可以使这很容易。
  • 在Kafka Streams中,定义(1)String的值serde以从源主题中读取,以及(2)定义用于将JSON数据(或Pojo)写入目标主题的相应值serde。 Serdes需要在需要时(例如,将您的Pojos写入Kafka需要实现)实现您的数据。

请参阅https://github.com/apache/kafka/tree/trunk/streams/examples/src/main/java/org/apache/kafka/streams/examples/pageview下的示例代码,了解如何:将JSON与Apache Kafka的Streams API一起使用。