我想在avro转换器上使用kafka connect jdbc接收器连接器。
这些是我的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模式类型为:记录,枚举,数组,映射,联合和固定的,但没有结构。
我想念什么?
谢谢!!
答案 0 :(得分:1)
Avro 记录创建一个Struct
Connect数据类型。
错误表明您的数据不是记录。
模式设置为false
这些属性对Avro转换器没有任何意义。 Avro 总是 具有架构
我想在avro转换器上使用kafka connect jdbc接收器连接器。
然后,生产者需要发送带有模式的记录。这包括具有启用
模式的Avro记录或JSON答案 1 :(得分:0)
Avro结构始终具有架构。所以您需要进行如下设置
stdout