json 中的示例枚举值:
"color": {
"com.abc.colortype": "green"
}
avsc 文件中的 Avro 架构:
{
"name" : "color",
"type" : [ "null", {
"type" : "enum",
"name" : "colortype",
"doc" : "Either red , blue or green",
"symbols" : [ "red", "blue", "green" ],
"hierarchy" : "/badgecolor/"
} ],
"doc" : "Either red , blue or green",
"default" : null
}
json 反序列化为org.apache.avro.generic.GenericRecord就好了。但是 GenericRecord 序列化是这样写的:
"color": "green"
apache-avro 无法理解此枚举表示。下一个 JSON 到 GenericRecord 的反序列化失败。它报告架构兼容性错误。我们如何调整序列化以使用带有命名空间的格式?