我有一个Avro Schema记录定义,看起来像这样。它包含限制值的地图
{
"namespace": "MyNamespace",
"type": "record",
"name": "AvroObject",
"fields": [
{
"name": "entries1",
"type": [
"null",
{
"type": "map",
"values": [
"null",
"long",
"string",
"boolean"
]
}
],
"default": null
},
{
"name": "entrie2",
"type": [
"null",
{
"type": "map",
"values": [
"null",
"long",
"string",
"boolean"
]
}
],
"default": null
}
]
}
我想提取地图定义,以便可以重复使用
{
"namespace": "MyNamespace",
"type": "map",
"name": "MyMap",
"values": [
"null",
"long",
"string",
"boolean"
]
}
Avro Schema编译器允许我定义记录以供重用,但抱怨地图
{
"namespace": "MyNamespace",
"type": "record",
"name": "AvroObject",
"fields": [
{
"name": "entries1",
"type": "MyMap" <---------- NOT ALLOWED
},
{
"name": "entries2",
"type": "MyMap" <---------- NOT ALLOWED
}
]
}
如何为地图定义架构?