您如何覆盖BigQuery中的某些日期分区?

时间:2019-04-25 18:28:16

标签: python python-3.x google-bigquery

我有一个按列date进行分区的表。

假设在以下日期我有3个分区:2019-04-01, 2019-04-02, 2019-04-03

t+1,我有一个包含2019-04-02, 2019-04-03, 2019-04-04数据的输入文件。

我想做的是替换任何重叠日期的当前分区,并保留2019-04-01, 2019-04-04的分区不变。

我尝试使用WRITE_TRUNCATE,但这最终删除了我的整个表。有人可以帮忙吗。

我知道可以使用分区装饰器,例如table$20190404,但是它如何工作?它可以与WRITE_TRUNCATE一起使用吗?如果我只能为装饰器提供一个日期,它将如何覆盖多个日期分区?

1 个答案:

答案 0 :(得分:0)

您可能需要为此用例预处理输入数据,并在目标表中排除您不想更新的数据。另外,您可以将输入数据加载到新的BQ表中,然后使用DML statement更新目标分区表