【问题标题】:Move Tables from US dataset to EU dataset将表从美国数据集移动到欧盟数据集
【发布时间】:2016-07-27 09:16:42
【问题描述】:
我在位于美国的 Google Cloud Platform(和 Bigquery)上创建了一些项目。现在我只想在欧盟创建数据集。有什么方法可以将这些表从美国数据集复制到欧盟数据集,而无需在本地下载数据?
【问题讨论】:
标签:
location
dataset
google-bigquery
【解决方案1】:
我从拥有导入管道的子团队成员那里得到以下建议:
- 提取到 GCS
- 复制到其他地区的 GCS 存储桶
- 导入 BQ
恐怕我们目前没有比这更精简的方法了
【解决方案2】:
可以选择使用跨区域复制。命令示例:
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"}'
此命令在区域之间复制数据集并替换目标数据集中的所有现有表。我没有找到如何只复制特定表的方法。
【解决方案3】:
复制要求源表和目标表位于同一位置
因此,您的选择是将数据从源表提取到 Cloud Storage,然后从 Cloud Storage 加载到目标
【解决方案4】:
根据this关于复制BQ表的文档,提到
“复制表时,目标数据集必须与要复制的表位于同一位置。例如,您不能将表从基于欧盟的数据集复制到基于美国的数据集。”
截至今天,我们无法直接在不同区域之间复制表格。
【解决方案5】:
我相信您可以为此使用复制表功能。点击 UI 中表格名称旁边的下拉菜单,然后选择复制表格。