【问题标题】:Invalid default for field warning message coming from Avro?来自 Avro 的字段警告消息的默认值无效?
【发布时间】:2015-01-06 00:42:52
【问题描述】:

我有一个像这样的 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模式,那么写入和读取数据会有什么问题吗?

【问题讨论】:

    标签: java boolean avro


    【解决方案1】:

    根据Avro Docs,如果你指定一个默认的布尔值,你就不能像String那样做。

    试试这个...

      {
         "name": "is_userid_present",
         "type": "boolean",
         "default": false
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 2016-09-22
      • 2017-08-23
      • 1970-01-01
      • 2015-06-24
      • 2012-02-29
      • 2014-07-25
      相关资源
      最近更新 更多