线程中的异常 "main" org.apache.avro.SchemaParseException: 无法重新定义: test.record4



我正在尝试将test.avsc avro模式文件编译为java代码。 线程"main"中的异常 org.apache.avro.SchemaParseException: 无法重新定义: test.record4

这个想法是 记录 4 在名称 4 和名称 5 中应该是相同的类型

我的test.avsc是:

{
"type":"record",
"namespace":"test",
"name":"record1",
"fields":[
{
"name": "orbject1",
"type":{
"type": "array",
"items":{
"type":"record", "name":"record2", "fields": [
{"name": "name1",
"type":{
"type": "array",
"items":{
"type":"record", "name":"record3", "fields": [
{"type": {
"type":"record", "name":"record4", "fields": [
{"name":"name2", "type":"long"}
]
},
"name":"name4"
},
{"type": {
"type":"record","name":"test.record4"
},
"name":"name5"
}
]
}
}
}
]
}
}
}
]
}

如果将架构重新排列为如下所示,则会修复 test.record4 错误:

{
"type":"record",
"namespace":"test",
"name":"record1",
"fields":[
{
"name": "orbject1",
"type":{
"type": "array",
"items":{
"type":"record", "name":"record2", "fields": [
{"name": "name1",
"type":{
"type": "array",
"items":{
"type":"record", "name":"record3", "fields": [
{"type": {
"type":"record", "name":"record4", "fields": [
{"name":"name2", "type":"long"}
]
},
"name":"name4"
},
{"type": "test.record4", "name":"name5" }
]
}
}
}
]
}
}
}
]
}

最新更新