本文:https://cloud.google.com/bigquery/docs/writing-results指出可以用新数据覆盖BigQuery表,但是我想做的是覆盖一个分区(或多个分区)。有可能吗?
我已经阅读了大量有关将数据插入BigQuery的文档(例如https://cloud.google.com/bigquery/docs/creating-column-partitions),并且找不到任何有关覆盖分区的引用,因此我认为问题的答案为“否”,但我认为我还是要问。
答案 0 :(得分:1)
您很幸运!通过MERGE
DML可以做到这一点。
我的建议是尝试一下。如果您无法使用它,请发布一个包含特定数据/查询的新问题。
答案 1 :(得分:1)
您总是可以使用查询输出表名称中的YYYYMMDD
后缀,以及使用WRITE_TRUNCATE
作为写入配置来覆盖BQ中的分区表(即截断任何存在于该分区中并写入新结果)。
因此,可以说,当您运行查询时,并且想要覆盖名为xyz
的表中日期为2019-01-15的分区时,只需将查询结果的输出目标设置为{ {1}}并将写处置指定为yourdataset.xyz$20190115
。
希望有帮助。