【问题标题】:Schema definition generated online Schema-Generator is not accepted by BigQuery while using Load Table API使用 Load Table API 时,BigQuery 不接受在线生成的架构定义架构生成器
【发布时间】:2014-09-03 09:48:17
【问题描述】:

我们将不胜感激。

我有几个不同的 JSON 文档需要插入 BigQuery。现在为了避免手动生成模式,我使用了可用的在线 Json 模式生成工具的帮助。但是 BigQuery 加载数据向导不接受它们生成的架构。 例如:对于这样的 Json 数据:

{"_id":100,"actor":"KK","message":"CCD is good in Pune",
"comment":[{"actor":"Subho","message":"CCD is not as good in Kolkata."},        
{"actor":"bisu","message":"CCD is costly too in Kolkata"}]
}

在线工具生成的schema是:

{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Generated from c:jsonccd.json with shasum a003286a350a6889b152
 b3e33afc5458f3771e9c",
 "type": "object",
 "required": [
 "_id",
 "actor",
 "message",
 "comment"
 ],
 "properties": {
 "_id": {
   "type": "integer"
  },
 "actor": {
  "type": "string"
  },
  "message": {
  "type": "string"
  },
  "comment": {
  "type": "array",
  "minItems": 1,
  "uniqueItems": true,
  "items": {
    "type": "object",
    "required": [
      "actor",
      "message"
    ],
    "properties": {
      "actor": {
        "type": "string"
      },
      "message": {
        "type": "string"
       }
     }
   }
  }
 }
} 

但是当我在加载数据向导中将它放入 BigQuery 时,它会因错误而失败。

如何缓解这种情况?

谢谢。

【问题讨论】:

  • 这并没有查看所有 BigQuery 架构,它是其他一些架构,您会感到困惑。你用的是什么生成器?
  • @Pentium 10 - 你可能没有仔细阅读我的问题。我在这里打印的模式是从在线 Json 模式生成器生成的。这是有效的。但 BigQuery 不接受这种格式。现在这里有根据 BigQuery 可接受的格式生成 Schema 的任何工具或实用程序吗?
  • 无效格式错误。无法解析架构。所以它甚至没有创建表。
  • 该工具会为您生成一些 Json Schema,但它不是 BQ 识别的格式。阅读 BQ 文档如何在 BQ 中定义表结构。目前还没有生成器可以执行这些操作。

标签: json google-bigquery


【解决方案1】:

该工具生成的架构比 BigQuery 所需的复杂得多。

查看文档中的示例:

"schema": {
        "fields": [
          {"name":"f1", "type":"STRING"},
          {"name":"f2", "type":"INTEGER"}
        ]
      },

https://developers.google.com/bigquery/loading-data-into-bigquery?hl=en#loaddatapostrequest

同时,问题中提到的工具添加了诸如 $schema、描述、类型、必需、属性等字段,这些字段对于 BigQuery 架构解析器来说是不必要且令人困惑的。

【讨论】:

  • 谢谢各位!我已经完成了 BigQuery 加载,但我只是想从这个论坛知道的事情,如果有人可以为 BigQuery 架构指出任何自动生成器工具。
  • @Subhayu 据我们所知,没有用于 BQ 模式的自动生成工具,模式是如此独特以至于您不需要它们。而且手动创建甚至编写json模式都非常简单。
  • 以防其他人在寻找 - bigquery-json-schema-generator.com
猜你喜欢
  • 2012-05-27
  • 1970-01-01
  • 2014-10-29
  • 1970-01-01
  • 2011-10-27
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多