我有一个如下的avro架构,我想要一个架构的示例/示例记录。
架构:
{
"name" : "root",
"type" : "record",
"fields" : [
{
"name" : "sub_rec",
"type" : {
"type" : "array",
"items" : {
"type" : "map",
"values" : "string"
}
}
}
]
}
我尝试过如下,但它不起作用
{
"sub_rec" : {[
"key1" : "val1",
"key2" : "val2"
]}
}
答案 0 :(得分:0)
对Avro不太熟悉,但我知道这是无效的,因为数组不能拥有键值对
[
"key1" : "val1",
"key2" : "val2"
]
这是我对正确记录格式的思考过程。
你从一个记录开始。我不认为这个名称适用于此,但如果确实如此,那可能需要是您要序列化的类的名称。
{}
在其中,有一个名为sub_rec
的字段,其类型是数组。
{ "sub_rec" : [] }
在该数组字段中,您的项目是地图类型,其值严格为字符串。
{
"sub_rec" : [
{ "key1" : "value" },
{ "key2" : "value" }
]
}
替代解释(向后)
您的地图记录的值只有字符串
{ "key" : "string-value" }
这些存储在数组
中[ { "key1" : "string-value" }, { "key2" : "string-value" } ]
该数组存储在名为"sub_rec"
(与上面的完整记录相同)