BigQuery中有没有一种方法可以保存区域中多区域中的查询

时间:2020-07-29 16:02:01

标签: google-bigquery

我们有一个BigQuery表,它位于“ EU”多区域中,而另一个表则位于“ europe-west3”区域中。我们的目标是将常规查询(每小时)的结果从EU表添加到europe-west3表。 除了始终将整个表导出到存储桶,将其复制到europe-west3并将其导入回到正确区域中的表之外,是否有一种简单的方法来执行此任务? 用户界面中的初始测试失败,并显示“在位置EU中找不到“数据集:”” 非常感谢您的帮助!

1 个答案:

答案 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的详细信息。