是否可以在BigQuery中对分区表进行非分区?

时间:2017-07-24 11:19:09

标签: google-bigquery

鉴于BigQuery中有一个Partitioned表,是否可以将其设为非分区?

2 个答案:

答案 0 :(得分:2)

AFAIK没有功能/功能来取消分区表的分区。但是,没有什么能阻止你做select * from partitioned_table并将结果写入新的(非分区表)。使用这种方法,您当然会受到成本的影响。

另一种方法是将您的表格导出到GCS,然后将导出的文件重新加载。加载不会花费任何费用,因此您只需支付短暂的金额文件存储在GCS中的时间。

答案 1 :(得分:1)

  

是否可以在BigQuery中对分区表进行非分区?

有可能!!快速免费($ 0.00)

  

第1步 - 创建新的非分区表,其中包含与源表完全相同的模式且没有行

#standardSQL
SELECT * 
FROM `xxx.yyy.your_partitioned_table`
WHERE FALSE 

在目的地 - xxx.yyy.your_new_NON_PARTITIONED_table

上方运行

第2步 - 使用WRITE_APPEND作为writeDisposition调用复制作业

您的副本配置如下所示

{
    "configuration": {
        "copy": {
            "sourceTable": {
                "projectId": "xxx",
                "datasetId": "yyy",
                "tableId": "your_partitioned_table"
            },
            "destinationTable": {
                "projectId": "xxx",
                "datasetId": "yyy",
                "tableId": "your_new_NON_PARTITIONED_table"
            },
            "createDisposition": "CREATE_IF_NEEDED",
            "writeDisposition": "WRITE_APPEND"
        }
    }
}  

任务完成!
注意:这两个步骤都是免费的!