我想使用kafka连接jdbc接收器连接器与avro转换器。
这些是我的avro配置:
"key.converter":"io.confluent.connect.avro.AvroConverter",
"key.converter.schema.registry.url" : "http://myurl.com" ,
"value.converter":"io.confluent.connect.avro.AvroConverter",
"value.converter.schema.registry.url" : "http://myurl.com" ,
架构设置为false
key.converter.schemas.enable=false
value.converter.schemas.enable=false
现在,当我启动连接器,我得到这个错误
原因:org.apache.kafka.connect.errors.connectexception:值架构必须是struct类型
据我所知,struct是用于json模式的,对吗?如果我使用的是avro模式,我不应该有任何结构?
avro模式类型有:record、enum、arrays、maps、unions和fixed,但没有struct。
我错过了什么?
谢谢!!
2条答案
按热度按时间6rvt4ljy1#
avro记录创建
Struct
连接数据类型。错误是您的数据不是记录。
架构设置为false
这些属性对avro转换器没有任何意义。avro总是有一个模式
我想使用kafka连接jdbc接收器连接器与avro转换器。
然后生产者需要发送带有模式的记录。这包括启用了模式的avro记录或json
rryofs0p2#
avro结构始终具有模式。所以你需要设置如下所述