可选字段的 Avro 序列化
Avro serialization of optional fields
我有一个 avdl 文件,其中有一条记录,比如包含字符串变量 "address" 的人,这是可选的。
这个人的记录然后在另一个记录中使用,比如城市,作为一个可以为空的数组(使用默认值为 null 的联合)。
当我尝试使用 dataFileWriter.append(object) 进行序列化时,avro 抛出一个错误:
java.lang.NullPointerException: city 字段persons 中union 数组person 字段address 中的字符串为null。
因为我是 avro 的新手,所以我不太确定我是否可以将可选字段作为字符串(在 wiki 上没有真正找到它)。
刚刚意识到我必须使用
使其可为空
union{null, String} 地址;
我有一个 avdl 文件,其中有一条记录,比如包含字符串变量 "address" 的人,这是可选的。
这个人的记录然后在另一个记录中使用,比如城市,作为一个可以为空的数组(使用默认值为 null 的联合)。
当我尝试使用 dataFileWriter.append(object) 进行序列化时,avro 抛出一个错误: java.lang.NullPointerException: city 字段persons 中union 数组person 字段address 中的字符串为null。
因为我是 avro 的新手,所以我不太确定我是否可以将可选字段作为字符串(在 wiki 上没有真正找到它)。
刚刚意识到我必须使用
使其可为空union{null, String} 地址;