如何通过Avro SchemaBuilder类为字段设置null默认值?
给Avro可为空字段设置null默认值的解决方案
针对你用SchemaBuilder创建Schema时的需求,不需要使用stringDefault()(该方法不支持传入null参数),直接用defaultNull()方法替换noDefault()即可实现给可为空字段设置null默认值。
修改后的代码示例:
Schema s = SchemaBuilder.record(collectionName) .namespace("com.company.something") .fields() .name(field) .type().nullable().stringType() .defaultNull() // 替换noDefault(),将默认值设为null // 其他字段配置 ... .endRecord();
额外说明
defaultNull()是Avro SchemaBuilder专为可为空类型设计的API,不管是字符串还是其他数值类型的nullable字段,都可以用这个方法来设置null默认值,完全适配你编程创建Schema的硬性要求。
内容的提问来源于stack exchange,提问作者RonVe
相关产品推荐
相关产品推荐

