Kafka Connect Avro枚举被解析为字符串



我正在使用confluent的kafka连接框架将我的应用程序服务器从我的应用程序服务器生成kafka群集(Zookeeper Brokers Brokers schema registry in AVRO支持(。

(。 (。

我通过连接发送的数据由AVRO模式定义。我的模式代表包含枚举的结构化对象。确实,Apache Avro支持支持枚举类型。我不必对注册表进行架构,因为Kafka Connect API会自动进行。

我的问题是Kafka Connect似乎将枚举分解为字符串。当我尝试消耗时,我会看到连接制作的架构是不正确的,因为它已将我的所有枚举转换为字符串。因此,我无法消耗我的数据,以实现从字符串回到枚举的转换逻辑。

我想将我的逻辑信息保留为枚举,并也使用Kafka Connect。我跳入了Kafka-Connect代码,它似乎不处理枚举类型,而仅处理基本类型。

我的替代替代方法是建立自己的生产框架,该框架通过模仿连接框架来保持枚举,但这很耗时,我无法避免使用枚举。

您是否设法使用kafka-connect制作和消费包含枚举的记录?

任何帮助或经验的反馈都是welcomme,谢谢!

在Connect的最新版本中(也许是4.2 (,有这些属性。(我个人没有在文档中看到,但是我能够在源代码中找到它们,因为我也找到了与您相同的东西(

如您所见,默认值是错误的,并且在较新的版本中被告知,它将设置为true

public static final String ENHANCED_AVRO_SCHEMA_SUPPORT_CONFIG = "enhanced.avro.schema.support";
public static final boolean ENHANCED_AVRO_SCHEMA_SUPPORT_DEFAULT = false;
public static final String ENHANCED_AVRO_SCHEMA_SUPPORT_DOC =
  "Enable enhanced avro schema support in AvroConverter: Enum symbol preservation and Package"
      + " Name awareness";

目前,您需要将它们设置在工作/连接器级别以保留枚举,前提是您正在运行具有这些

的连接版本

相关内容

  • 没有找到相关文章

最新更新