【问题标题】:Confluent - Splitting Avro messages from one kafka topic into multiple kafka topicsConfluent - 将 Avro 消息从一个 kafka 主题拆分为多个 kafka 主题
【发布时间】:2019-10-09 03:55:56
【问题描述】:

我们有一个传入的 kafka 主题,其中有多个基于 Avro 模式的消息被序列化到其中。

我们需要将 Avro 格式的消息根据公共模式属性的某个值拆分为多个其他 kafka 主题。

                             |------> [OUTGOING TOPIC(AVRO) - A] 
[INCOMING TOPIC(AVRO)] ----->|------> [OUTGOING TOPIC(AVRO) - B]
                             |------> [OUTGOING TOPIC(AVRO) - C]

想了解如何实现它,同时避免在融合平台中构建中间客户端来执行此拆分/路由。

我探索了 kafka 连接器,但没有找到可以完成这项工作的现有连接器。

【问题讨论】:

  • 您可以使用 KSQL 或 Kafka Streams。
  • KSQL 可能不起作用,因为输入主题没有一个模式。

标签: apache-kafka avro apache-kafka-streams apache-kafka-connect confluent-platform


【解决方案1】:

您可以编写一个 Kafka Streams 应用程序并使用branch()

KStream input = builder.stream("topic");
KStream[] splitStreams = input.branch(...);
splitStream[0].to("output-topic-1");
splitStream[1].to("output-topic-2");
// etc.

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 2020-05-09
    • 2018-01-12
    • 2016-11-10
    • 1970-01-01
    • 2020-03-19
    相关资源
    最近更新 更多