来自 Avro 的字段警告消息的默认值无效?
Invalid default for field warning message coming from Avro?
我有一个像这样的 avro 模式,其中我将 is_userid_present
标记为布尔值,我想将默认值设置为 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,如果您指定默认布尔值,则不能像您拥有的那样将其作为 String
。
试试这个...
{
"name": "is_userid_present",
"type": "boolean",
"default": false
}
我有一个像这样的 avro 模式,其中我将 is_userid_present
标记为布尔值,我想将默认值设置为 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,如果您指定默认布尔值,则不能像您拥有的那样将其作为 String
。
试试这个...
{
"name": "is_userid_present",
"type": "boolean",
"default": false
}