我们有一个BigQuery表,它位于“ EU”多区域中,而另一个表则位于“ europe-west3”区域中。我们的目标是将常规查询(每小时)的结果从EU表添加到europe-west3表。
除了始终将整个表导出到存储桶,将其复制到europe-west3并将其导入回到正确区域中的表之外,是否有一种简单的方法来执行此任务?
用户界面中的初始测试失败,并显示“在位置EU中找不到“数据集:
答案 0 :(得分:0)
如果指定位置与请求中数据集的位置不匹配,BigQuery将返回错误。创建数据集后,您无法更改其位置,但是可以创建copy of the dataset。您不能将数据集从一个位置移动到另一位置,但是可以手动移动(重新创建)数据集。 BigQuery数据传输服务可以将数据传输到许多区域的BigQuery数据集中。
BigQuery根据请求中引用的数据集确定运行作业的位置,但是要指定运行data's location的位置,请单击More -> Query settings
。对于处理位置,单击Auto-select
,然后选择数据的位置。创建temporary table并选择EU
位置的示例。
CREATE TEMP TABLE TempTable
(x INT64, y STRING);
INSERT INTO TempTable
VALUES (1, 'Big');
INSERT INTO TempTable
VALUES (2, 'Query');
SELECT * FROM TempTable;
此后,当您转到Job Information -> Destination Table
时,将在Table info -> Data location
(即EU
)中获得有关TempTable的详细信息。