首页 > 解决方案 > 如何在新的 bigquery 项目中将表复制到空数据集?

问题描述

有两个 bigquery 项目:proj1 和 proj2 proj2 是最近创建的,并且是空的。Proj1 有 dataset1,它有一个名为 table1 的表。我想为 proj2 创建同一个表(没有数据的相同模式)。我为 proj2 创建了 dataset2。我单击 (proj1:dataset1)table1 中的复制表,并选择 proj2 和 dataset2 作为目标,table2 作为表名。当我点击复制它给出错误:未找到:proj2:Dataset2

我不确定复制模式的最佳方法是什么,但我的方法是遵循这个:复制表然后清空它 [https://stackoverflow.com/questions/54053998/copy-table-structure-alone-in-bigquery ][1]

标签: google-bigquery

解决方案


您可以使用bq cp命令:

bq cp project1:dataset.table project2:dataset.table

如果您愿意复制所有表:

bq mk --transfer_config \
      --project_id=target-project \
      --data_source=cross_region_copy \
      --target_dataset=target-dataset \
      --display_name='Dataset Copy' \
      --params='{"source_dataset_id":"source-dataset","source_project_id":"source-project"}'

推荐阅读