标准avro模式演化示例显示了向记录中添加一个带有默认值的新字段。但是如果您的旧模式有一个数组,并且您想向该数组添加一个新字段,该怎么办?
例如,给定一个记录数组:
{
"type": "array",
"items": {
"name": "Loss",
"type": "record",
"fields": [
{
"name": "lossTotalAmount",
"type": [ "null", "string" ],
"default": null
},
{
"name": "lossType",
"type": [ "null", "string" ],
"default": null
},
{
"name": "lossId",
"type": [ "null", "string" ],
"default": null
},
{
"name": "vehicleLossCode",
"type": [ "null", "string" ],
"default": null
}
]
}
}
添加新字段 claimNumber
:
{
"type": "array",
"items": {
"name": "Loss",
"type": "record",
"fields": [
{
"name": "lossTotalAmount",
"type": [ "null", "string" ],
"default": null
},
{
"name": "lossType",
"type": [ "null", "string" ],
"default": null
},
{
"name": "lossId",
"type": [ "null", "string" ],
"default": null
},
{
"name": "vehicleLossCode",
"type": [ "null", "string" ],
"default": null
},
{
"name": "claimNumber",
"type": [ "null", "string" ],
"default": null
}
]
}
}
当我开始遇到反序列化异常时,使用常规技术似乎不起作用。是否有不同的方法来扩展avro中的现有阵列,还是不可能?
暂无答案!
目前还没有任何答案,快来回答吧!