如何在 bigquery 中创建分区表

Posted

技术标签:

【中文标题】如何在 bigquery 中创建分区表【英文标题】:How do I create a partitioned table in bigquery 【发布时间】:2016-06-02 14:11:16 【问题描述】:

Google 最近在 BigQuery 中宣布了partitioned tables,它具有许多优势。 但是,我没有找到有关如何创建此类表的文档。 如何在 UI、CLI 或 API(java 等)中创建这样的表?

【问题讨论】:

【参考方案1】:

看看表资源的timePartitioning属性。 我认为您可以尝试一下:o) 在Partitioned Tables和Creating and Updating Date-Partitioned Tables了解更多信息

【讨论】:

注意:您可能需要更新您的 cloud sdk shell 以支持 time_partitioning_type 参数【参考方案2】:

您可以在 UI/CLI 中运行此代码来创建带有分区的表。

bq query --use_legacy_sql=false '
CREATE TABLE dw_prod.example_table (
    company STRING, 
    value FLOAT64,
    ds DATE)
PARTITION BY ds
OPTIONS(
  expiration_timestamp=TIMESTAMP "2028-01-01 00:00:00 UTC",
  description="Example table create in BQ CLI",
  labels=[("example","summary")]
);'

【讨论】:

欢迎来到 ***。您应该解释代码的作用及其相关性,而不是仅仅粘贴代码块。【参考方案3】:

我确实很难找到the documentation,所以我在这里添加它:

CREATE TABLE | CREATE TABLE IF NOT EXISTS | CREATE OR REPLACE TABLE
[[project_name.]dataset_name.]table_name
[(
  column_name column_schema[, ...]
)]
[PARTITION BY partition_expression]
[CLUSTER BY clustering_column_list]
[OPTIONS(table_option_list)]
[AS query_statement]

请注意,您可以从视图选择中对表进行聚类,这非常简洁。

【讨论】:

以上是关于如何在 bigquery 中创建分区表的主要内容,如果未能解决你的问题,请参考以下文章

如何在Google Bigquery中创建按日期(每年)分区的表格

使用 apache beam Json Time Partitioning 在 bigquery 中创建时间分区表

BigQuery 分区表

我们可以像在 Hive 中一样在 Big Query 中创建动态分区吗?

在 bigquery 分区表中修剪(限制)分区

使用 Python 和 API 创建 Bigquery 分区表