使用bigquery将数据插入分区表不会插入数据

时间:2018-09-26 10:55:42

标签: google-bigquery

我正在尝试使用INSERT INTO DML命令将数据从未分区的表插入分区的BigQuery表中。

遵循的步骤:

1。创建空的分区表

创建表project.dataset.tbl1  (field1 STRING,field2 STRING,field3 TIMESTAMP)  按日期划分(field3)  选项(    partition_expiration_days = 3,    description =“对表进行分区的表”  )

2。将数据从表2插入表1

插入dataset.tbl1(field1,field2,field3)AS 从project.dataset.tbl2中选择f1,f2,f3,其中 DATE(f3)IN('2018-09-13','2018-09-14','2018-09-15','2018-09-16')和f1不为空,f2不为空

上面的DML语句被执行但没有插入记录。因此,我检查SELECT查询是否获取数据。

以下获取13条记录。

project.dataset.tbl2中选择f1,f2,f3,其中 DATE(f3)IN('2018-09-13','2018-09-14','2018-09-15','2018-09-16')和f1不为空,f2不为空

1 个答案:

答案 0 :(得分:0)

当您设置partition_expiration_days = 3时,这意味着所有早于3天的分区都将过期并被删除。您从9/13到9/16插入了数据,并且由于您昨天发布了数据,所以我假设您在9/26上运行了查询。因此,数据在插入表后立即过期。