Avro 模式 - 地图类型作为可选字段
Avro schema - map type as optional field
如何将 avro 架构中的 arrayofmap 设置为可选字段。下面的模式正在运行,但是,如果数据中缺少此字段,则解析失败 org.apache.avro.AvroTypeException: Error converting field - quantities and.
Caused by: org.apache.avro.AvroTypeException: Expected array-start. Got VALUE_NULL
` 我只是想确保数据的反序列化通过该字段是否存在于数据中。
{
"name":"quantities",
"type":{
"items":{
"type":"map",
"values":"string"
},
"type":"array"
},
"default" : null,
}
刚刚自己找到了解决方案。这将使地图字段数组在 avro 模式中成为可选的
{
"name": "quantities",
"type": ["null",
{
"type": "array",
"items": {
"type": "map",
"values": "string"
}
}
],
"default": null,
}
如何将 avro 架构中的 arrayofmap 设置为可选字段。下面的模式正在运行,但是,如果数据中缺少此字段,则解析失败 org.apache.avro.AvroTypeException: Error converting field - quantities and.
Caused by: org.apache.avro.AvroTypeException: Expected array-start. Got VALUE_NULL
` 我只是想确保数据的反序列化通过该字段是否存在于数据中。
{
"name":"quantities",
"type":{
"items":{
"type":"map",
"values":"string"
},
"type":"array"
},
"default" : null,
}
刚刚自己找到了解决方案。这将使地图字段数组在 avro 模式中成为可选的
{
"name": "quantities",
"type": ["null",
{
"type": "array",
"items": {
"type": "map",
"values": "string"
}
}
],
"default": null,
}