如何使用标准SQL定义BigQuery架构?

时间:2017-03-12 10:34:03

标签: python schema google-bigquery

我想在新项目中使用BigQuery Standard SQL,但是我无法找到有关如何定义架构的任何示例,所有内容都指向旧版SQL。特别是,我想使用ARRAYSTRUCT

2 个答案:

答案 0 :(得分:2)

您可以使用标准SQL类型的架构创建表。以下是有效架构的示例:

{
  "a": "ARRAY<STRUCT<x INT64, y STRING>>",
  "b": "STRUCT<z DATE>",
  "c": "INT64"
}

如果您将其放在sample_schema.json等文件中,则可以使用bq mk从中创建表格:

bq mk --schema sample_schema.json -t your_dataset.YourTableName

bq客户端之外,tables.insert API还支持标准SQL类型名称。

答案 1 :(得分:1)

在BigQuery中创建表的一种方法是使用API​​调用。没有CREATE表语法。

创建表

BigQuery提供了各种方法来创建新表as detailed here

  • 您可以使用命令行工具的bq mk命令或使用BigQuery API tables.insert()方法创建一个空表。
  • 您可以从CSV或JSON数据文件(压缩或未压缩),Avro文件或Cloud Datastore备份加载表。
  • 您可以根据查询结果创建表格。
  • 您可以复制表格
  • 您可以在云存储中的文件上定义表格
  • 您可以在定义表架构时使用标准SQL类型(请参阅Elliotts答案),并且还有一个关于在文档中更新的问题。投票/明星here

很多Python samples are on GitHub简单如下:

sicslowmac_driver