Google bigquery 大查询在从一个表插入另一个表时指定_PARTITIONTIME

Google bigquery 大查询在从一个表插入另一个表时指定_PARTITIONTIME,google-bigquery,Google Bigquery,我有两个大的查询表,t1和t2,它们都包含\u PARTITIONTIME列 我的目标是将t2中的行插入t1中,这样可以维护\u PARTITIONTIME 是否有方法将插入将\u PARTITIONTIME作为所选变量 或者有没有一种方法可以在插入行后追溯定义\u PARTITIONTIME列?当前,您可以使用分区装饰器 [表名]$20160501 不过,有一个高请求特性正在开发中,它允许您选择一列并将其用作分区日 为了写入20个不同的分区,您需要按照说明创建至少20个不同的查询和写入 这里介

我有两个大的查询表,
t1
t2
,它们都包含
\u PARTITIONTIME

我的目标是将
t2
中的行插入
t1
中,这样可以维护
\u PARTITIONTIME

是否有方法将
插入
\u PARTITIONTIME
作为所选变量


或者有没有一种方法可以在插入行后追溯定义
\u PARTITIONTIME
列?

当前,您可以使用
分区装饰器

[表名]$20160501

不过,有一个高请求特性正在开发中,它允许您选择一列并将其用作分区日

为了写入20个不同的分区,您需要按照说明创建至少20个不同的查询和写入

这里介绍了更多的解决方案:

我不知道这是什么时候实现的,但它是有效的

使用DML语句向摄取时间添加行时 在分区表中,您可以指定将行分配到的分区 应该加上。您可以使用_PARTITIONTIME引用分区 伪列

bq query --allow_large_results --replace --noflatten_results \
--destination_table 'mydataset.temps$20160101' \
'SELECT stn,temp from [bigquery-public-data:noaa_gsod.gsod2016] WHERE mo="01" AND da="01" limit 100'

bq query --allow_large_results --replace --noflatten_results \
--destination_table 'mydataset.temps$20160102' \
'SELECT stn,temp from [bigquery-public-data:noaa_gsod.gsod2016] WHERE mo="01" AND da="02" limit 100'
INSERT INTO PROJECT_ID.DATASET.t2 (_PARTITIONTIME, field1, field2) 
SELECT _PARTITIONTIME, field1, field2
FROM PROJECT_ID.DATASET.t1