如何为BigQuery中创建的表选择分区?

时间:2018-07-04 15:15:04

标签: google-bigquery

我使用UI中的“自动检测”创建了一个表。 通过这样做,它从Json文件创建了表。 enter image description here

现在,我希望该表由TIMESTAMP列之一进行分区。

我该怎么做? docs没有指定如何对现有表执行此操作。 可以通过用户界面完成吗?如果没有,怎么用Python完成?

1 个答案:

答案 0 :(得分:1)

您需要在创建表的过程中指定分区;事后您就无法更改它。您可以做的是使用所需的架构和分区创建一个新表,然后重新加载数据。有关创建分区表的语法,请参见CREATE TABLE的文档。如果要创建表而不必写出列列表,则可以使用如下查询:

CREATE TABLE dataset.newtable
PARTITION BY DATE(timestamp_column) AS
SELECT *
FROM dataset.existingtable
LIMIT 0

请注意,如果删除LIMIT 0,则可以创建表并同时复制数据,但是会产生一定的费用。使用LIMIT 0,然后重新加载数据将是免费的。