如何将非分区表转换为分区表
Posted
技术标签:
【中文标题】如何将非分区表转换为分区表【英文标题】:how to convert a non-partitioned table into a partitioned one 【发布时间】:2018-05-17 06:29:06 【问题描述】:如何使用 StandardSQL 或 LegacySQL 在大查询中重命名 TABLE。 我正在尝试使用 StandardSQL,但它给出了以下错误,
重命名表 dataset.old_table_name
为 dataset.new_table_name
;
不支持声明:RenameStatement at [1:1]
这是否意味着没有任何方法(SQL QUERY)可以重命名表?
【问题讨论】:
how to rename a table without re creating it的可能重复 @Pentium10 我看到了这个问题,我是一年前。所以我想如果现在有任何方法可以重命名它。因为我的旧表不包含分区,而新表将包含分区。所以我只想从非分区表更改为分区表。如果有任何方法可以在不处理整个表格的情况下做到这一点。 你需要编写脚本 而不是重命名,似乎问题是“”? 【参考方案1】:我只是想从非分区表更改为分区表
您可以通过两个步骤来实现这一点
第 1 步 - 将表导出到 Google Cloud Storage
第 2 步 - 将文件从 GCS 加载回 GBQ 到带有分区列的新表中
两者都是免费的 不过,请记住分区表的一些限制 - 例如分区数 - 截至今天,每个表是 4000 - https://cloud.google.com/bigquery/quotas#partitioned_tables
【讨论】:
【参考方案2】:目前无法按照this document 中的说明在 Bigquery 中重命名表。您必须按照 Mikhail 给出的步骤创建另一个表。请注意,表存储仍有一些费用,但很少。详情请见this doc。
【讨论】:
以上是关于如何将非分区表转换为分区表的主要内容,如果未能解决你的问题,请参考以下文章