我可以从我的AVRO模式中删除一个元素,请参见下面的枚举,可以删除它吗?原因是我想添加一个列表类型,它可以从同一个枚举中获取多个值。
"fields": [{
"name": "etype",
"type":
{
"type": "enum",
"name": "EFilter",
"symbols" : ["ONE", "TWO", "THREE", "FOUR"]
},
"doc": "event types"
},
答案 0 :(得分:1)
您是否正在使用架构注册表?
如果是这样,您可以尝试删除该字段并将新架构发布到最新版本的架构中
https://docs.confluent.io/current/schema-registry/develop/api.html#heading2-4
否则,如果您正在考虑删除诸如字段之类的向后发展,我认为您将无法删除它,因为它不可为空或具有默认值。
另一种选择是只添加新的列表字段,然后在序列化过程中用一些伪值填充枚举,而在反序列化过程中将其忽略。