将表从美国数据集移动到欧盟数据集

Move Tables from US dataset to EU dataset

我在美国的 Google Cloud Platform(和 Bigquery)上创建了一些项目。现在我只想在欧盟创建数据集。有什么方法可以将这些表从美国数据集复制到欧盟数据集而无需在本地下载数据??

我相信您可以为此使用复制 Table 功能。单击 UI 和 select 中 table 名称旁边的下拉菜单 复制 Table。

复制要求源和目标 Table 位于同一位置
因此,您的选择是将数据从 Source Table 提取到 Cloud Storage,然后从 Cloud Storage 加载到 Destination

我从拥有导入管道的子团队成员那里得到了以下建议:

  1. 提取到 GCS
  2. 复制到其他区域的 GCS bucket
  3. 导入 BQ

恐怕我们目前没有比这更精简的了

根据有关复制 BQ 表的 this 文档,提到

"When copying tables, the destination dataset must reside in the same location as the table being copied. For example, you cannot copy a table from an EU-based dataset to a US-based dataset."

从今天开始,我们无法直接在不同区域之间复制表。

有使用跨区域复制的选项。命令示例:

bq mk --transfer_config --project_id=your-project-id --data_source=cross_region_copy --target_dataset=your-target-dataset --display_name='description' --params='{"source_dataset_id":"your-source-dataset","source_project_id":"your-project-id","overwrite_destination_table":"true"}'

此命令在区域之间复制数据集并替换目标数据集中的所有现有表。我没有找到如何只复制特定表的方法。