首页 > 解决方案 > Apache Avro - Avro 地图值中的复杂类型

问题描述

我可以在 Avro 的地图值中有一个复杂的类型吗?

例子:

{
  "type": "record",
  "default": null,
  "name": "Student",
  "namespace": "com.schema",
  "fields": [
    {
        "name": "name",
        "type": "string"
    },
    {
        "name": "age",
        "type": "int"
    },
    {
        "name": "grades",
        "default": null,
        "type": ["null", {"type": "map", "values": ["null","string", "int"]}]
    }
  ]
}

{"type" : "map", "values" : "Student"}

我试图直接在值上插入记录创建。它正在编译并创建类,但是当我尝试发送消息时,出现异常:org.apache.avro.UnresolvedUnionException: Not in union

标签: javaserializationavro

解决方案


推荐阅读