我有一个像这样的avro架构,其中我将is_userid_present decalred为boolean,我想将默认值设为false,因此我提出了以下avro架构.
{
"type":"record",
"name":"hello",
"fields":[
{
"name":"u",
"type":[
"string",
"null"
]
},
{
"name":"p",
"type":"string"
},
{
"name":"bu",
"type":"boolean"
},
{
"name":"is_userid_present",
"type":"boolean",
"default":"false"
}
]
}
但是从Avro代码中,我看到了这条警告信息 –
[WARNING] Avro: Invalid default for field is_userid_present: "false" not a "boolean"
我不确定我在这里做错了什么?如果我有这样的avro架构,那么编写和读取数据会有什么问题吗?
解决方法:
根据Avro Docs,如果你指定一个默认的布尔值,你不能像你拥有它那样做一个字符串.
试试这个…
{
"name": "is_userid_present",
"type": "boolean",
"default": false
}