有什么方法可以获取有关avro模式问题的有用信息?
我正在努力进行以下工作
...{item.key}</Text>}
我从Maven那里收到一条非常隐秘的消息:
{
"namespace": "format.data.something",
"type": "record",
"name": "data",
"fields": [
{
"name": "generator",
"type": "string"
},
{
"name": "mapping",
"type": {
"name": "mappingItemSequence",
"type": "array",
"items": {
"name": "item",
"type": {
"name": "mappingItem",
"type": "record",
"fields": [
{
"name": "content",
"type": "string"
},
{
"name": "tokenOutput",
"type": {
"name": "token",
"type": "string"
}
},
{
"name": "inputTokens",
"type": {
"name": "tokensSequence",
"type": "array",
"items": {
"name": "tokenInput",
"type": {
"name": "token",
"type": "string"
}
}
}
}
]
}
}
}
}
]
}
我正在使用apache avro 1.8.2,并且尝试使用maven编译为Java。
非常感谢您。
答案 0 :(得分:1)
本质上,问题在于您正在向数组类型声明中添加额外的信息。数组定义类型(文档here)中不需要属性name
。
以下架构应该适合您
{
"namespace": "format.data.something",
"type": "record",
"name": "data",
"fields": [
{
"name": "generator",
"type": "string"
},
{
"name": "mapping",
"type": {
"type": "array",
"items": {
"name": "mappingItem",
"type": "record",
"fields": [
{
"name": "content",
"type": "string"
},
{
"name": "tokenOutput",
"type": {
"name": "token",
"type": "string"
}
},
{
"name": "tokensSequence",
"type": { "type":"array", "items": "string"}
}
]
}
}
}
]
}