Avro 枚举字段

Avro ENUM field

我正在尝试在 Avro 架构中创建联合字段并使用它发送相应的 JSON 消息,但要有字段之一 - null.

https://avro.apache.org/docs/1.8.2/spec.html#Unions

具有相应 JSON 数据的最简单 UNION 类型(avro 模式)示例是什么? (尝试制作一个没有 null/empty 数据的例子,一个有 null/empty 数据的例子)。

这里有一个例子。

空枚举

{"name": "Stephanie", "age": 30, "sex": "female", "myenum": null}

非空枚举

{"name": "Stephanie", "age": 30, "sex": "female", "myenum": "HEARTS"}

架构

{
    "type": "record",
    "name": "Test",
    "namespace": "com.acme",
    "fields": [{
            "name": "name",
            "type": "string"
        }, {
            "name": "age",
            "type": "int"
        }, {
            "name": "sex",
            "type": "string"
        }, {
            "name": "myenum",
            "type": ["null", {
                    "type": "enum",
                    "name": "Suit",
                    "symbols": ["SPADES", "HEARTS", "DIAMONDS", "CLUBS"]
                }
            ]
        }
    ]
}