【问题标题】:How to use different serdes for different processors in Kafka Streams?如何在 Kafka Streams 中为不同的处理器使用不同的 serdes?
【发布时间】:2020-01-30 13:55:54
【问题描述】:

我有一个拓扑,其中有 2 个不同的源主题(2 个子拓扑)。 其中一个是 Avro 格式,另一个是 JSON。 有没有办法为不同的处理器使用不同的 Serdes? 我已经看到商店有Consumed.with(),但我没有看到处理器这样的东西。

除了编写我自己的序列化器或反序列化器来区分主题并相应地序列化/反序列化之外,是否有使用不同 serdes 的配置?

【问题讨论】:

  • 还有一个Produced类。不确定这是否回答了这个问题。您还可以从任何序列化程序组合创建一个 serde
  • @cricket_007 在拓扑中?我可以为每个处理器单独指定它吗?
  • 我对 KStream api 不太熟悉,但是如果 dsl 有,那么处理器也应该有
  • 例如,您能够设置 Consumed 的主要原因是因为之前的节点必须设置为 Produced(除非使用流配置中定义的默认值)
  • 我正在使用处理器 API,在流中有 stream(topic, Consumed.with())

标签: apache-kafka apache-kafka-streams


【解决方案1】:

Topology 类包含带有SerializerDeserializeraddSource 方法

Topology addSource(String sourceName, Deserializer keyDeserializer, Deserializer valueDeserializer, String... topics)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 2021-01-21
    相关资源
    最近更新 更多