gpt4 book ai didi

apache-kafka - Kafka Connect Schemas 背后的原因是什么?

转载 作者:行者123 更新时间:2023-12-04 05:18:36 25 4
gpt4 key购买 nike

我们正在编写一个自定义接收器连接器,用于将带有 avro 消息的主题内容写入 CEPH 存储。

为此,我们提供了 SinkRecords,它有一个 Kafka Connect 模式,它是我们 avro 模式的映射版本。由于我们要将 avro 写入 CEPH,因此我们使用 connect API 方法将 Connect 模式转换回 Avro。为什么我们需要这样做?引入 Kafka Connect Schema 而不使用更常用的 Avro Schema 有什么好处?

仅供引用:我问这个是因为我们与 Avro 工会有一些问题。它们与 Kafka Connect Schema 的映射仍然存在一些问题,例如https://github.com/confluentinc/schema-registry/commit/31648f0d34b10c1b36e8ec6f4c1236ed3fe86495#diff-0a8d4f17f8d4a68f2f0d2dcd9211df84

最佳答案

Kafka Connect 定义了自己的模式结构,因为该框架将连接器与有关消息在 Kafka 中如何序列化的任何知识隔离开来。这使得可以将任何连接器与任何转换器一起使用。如果没有这种分离,则连接器会期望消息以特定形式序列化,从而使它们更难重用。

如果您知道所有消息都使用特定的 Avro 模式进行序列化,则您始终可以将接收器连接器配置为使用 ByteArrayConverter键和值,然后您的连接器可以处理序列化形式的消息。

但是,请注意,如果使用 Confluents Avro 序列化器(或源连接器中的 Avro 转换器)对消息进行序列化,则键和值的二进制形式将在前导字节中包含幻字节和 Avro 架构标识符。字节数组的其余内容将是 Avro 序列化形式。

关于apache-kafka - Kafka Connect Schemas 背后的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46301329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com