google-bigquery - 如何在新的 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]
解决方案
您可以使用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"}'
推荐阅读
- wpf - WPF TreeView 仅扩展根
- python - 我试图在这个 python 程序中使用递归,但它显示 NameError。我应该怎么办?
- linux - 如何使用 printk()?
- python - 如何在 Python 3 中将 --prefer-binary 与 pip 一起使用?
- php - PHP正则表达式问题符号
- sql - 基于 MSSQL 或 LINQ 中的单列选择不常见的行
- javascript - 如何在 React 中绘制堆叠的时间序列?
- atomic - OpenACC:ATOMIC 指令的问题
- php - AWS Elastic Beanstalk + Laravel, Nginx Configuration
- ansible - Ansible lint 报告“软件包安装不应使用最新的”