我一直在编写一个自定义kafka连接器,它从twitter api读取并写入kafka主题,我一直在尝试使用avro编码来编写这些消息,我发现它非常困难。使用的技术是汇总的docker kafka图像3.1.2和kafka客户端0.10.1.0。为了生成avro对象,我使用了maven插件avro-maven-plugin,它正确地生成了具有模式的对象。但是,我发现,为了创建源记录,我必须在java代码中复制相同的模式,创建自定义“org.apache.kafka.connect.data.Schema”,然后通知org.apache.kafka。 connect.data.Struct对象包含所有信息。作为值转换器类,我使用AvroConverter,并查看代码,发送自定义对象的唯一形式,是将其作为Struct对象发送,创建avro格式并使用它来编码对象。我不明白为什么它无法消化由avro maven插件创建的自定义类来序列化对象。如果这是使用avro序列化器创建连接器的正确形式,我现在不知道。
我可以获得有关此解决方案的一些反馈吗? 谢谢大家。 Xoan。