我有一个像这样的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架构,那么编写和读取数据会有什么问题吗?
答案 0 :(得分:7)
根据Avro Docs,如果您指定默认布尔值,则不能像String
那样使用它。
试试这个......
{
"name": "is_userid_present",
"type": "boolean",
"default": false
}