Avro schema中union{null, int}类型字段能否设置默认值?
Avro Union类型默认值问题解决
报错原因
你遇到的AvroTypeException是因为Avro对union类型的默认值有严格语法要求:当字段类型为union {null, int}时,直接赋值2不符合规范——Avro无法明确这个值对应union中的具体类型(即便逻辑上是int,语法层面必须显式声明)。
正确设置整数默认值的写法
在AVDL文件中,需要用带类型键的JSON对象指定union类型的默认值,明确指向int类型:
union {null, int} field = {"int": 2};
能否设置null为默认值?
可以。当union包含null类型时,直接将默认值设为null即可,语法完全合法:
union {null, int} field = null;
内容的提问来源于stack exchange,提问作者Ayushi Jain
相关产品推荐
相关产品推荐

