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