【问题标题】:Apache Camel Kafka Connector: write to GCS in Avro formatApache Camel Kafka 连接器:以 Avro 格式写入 GCS
【发布时间】:2022-01-14 20:08:24
【问题描述】:

我想使用 Protobuf 中来自 Kafka 的事件,并使用 Apache Camel Kafka 连接器将它们写入 GCS。我使用 Protobuf 转换器,因此事件具有附加值和模式。
我是否可以将这些事件以 Avro 格式(带有架构的 GenericDatumWriter)写入 Google Cloud Storage?
我还想将事件批处理成更大的文件。

我找不到在 Avro 中编写文件的示例,不胜感激!
干杯!

【问题讨论】:

    标签: apache-camel apache-kafka-connect


    【解决方案1】:
    1. 要使用官方的 Confluent ProtobufConverter,需要一个 Confluent 模式注册表。这个官方的 ProtobufConverter 能够转换由 probobuf 序列化的字节。
    2. 考虑使用Kafka Connect GCS connector
      • 第一个问题是:为什么选择Apache Camel connector
      • 转换器中的toConnectData 方法返回SchemaAndValue,它可以转换为Avro/Parquet/JSON 模式和数据。这正是 GCS 连接器能够支持多种输出格式的原因。

    【讨论】:

    • 我使用自定义的 ProtobufConverter,它不需要 Schema 注册表并提供 SchemaAndValue。要回答您的问题,选择 Apache Camel 是因为我不使用 Confluent 平台并且没有 Confluent 许可证,而来自 Confluent 的 GCS Sink 需要许可证。 Apache Camel 是免费的,所以我希望我可以用它来做同样的事情,但我不知道如何配置它。
    • 我明白了。请参考 Kafka Connect s3 连接器的源代码:github.com/confluentinc/kafka-connect-storage-cloud/tree/master/…。里面的概念,比如格式和作者,应该对你的实现很有帮助。
    猜你喜欢
    • 2018-06-05
    • 2018-03-19
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2019-03-26
    • 2019-07-25
    相关资源
    最近更新 更多