在现有大查询表上添加集群

pra*_*thh 2 google-bigquery google-cloud-platform

我有一个按天分区的大查询表。该表中有大约 10M 条记录。是否可以更新表以添加聚类列?如果是,是否会对现有数据进行排序?我查阅了文档但无法获得清晰的图片。

sho*_*man 7

编辑:我之前关于集群配置不可变的响应是不正确的,它可以在创建后修改。感谢fremzy@指出了这一点。

要使用bqCLI 执行此操作:

bq update --clustering_fields=field1,field2,field3 mydataset.mytable
Run Code Online (Sandbox Code Playgroud)

我之前关于通过 CTAS 创建新表的说明如下:

最安全的方法可能是利用CREATE TABLE ... AS SELECT ...语句来定义新表并将分区表中的所有内容选择到其中。

DDL 文档中有一个相关示例,其中涵盖了定义分区和集群的语法:https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language#example_1_2