google-bigquery - 如何从 BigQuery 中提取表定义
问题描述
我想复制没有数据的特定表模式。基本上创建一个具有不同名称的干净表。
说原始表 orders
为:
a integer
b string
c float
我想创建:orders-copy
作为:
a integer
b string
c float
BigQuery 提供COPY
来自 UI 的选项,但这也会复制数据。我想手动创建表,但它有 90+- 列。
我知道在创建表时有一个选项EDIT AS TEXT
,有没有办法从现有表(orders
)中获取相同格式的列名称和类型,以便从 UI 中轻松创建?
解决方案
您可以做几件事:
- 正如您所提到的,您可以
EDIT AS TEXT
在创建表时使用该选项。但是为大量列手动添加列设置可能具有挑战性 - 您可以使用 BQ CLI。
- 在那里您可以检索表的架构
- 然后,您可以从架构创建一个空表
- 但这需要下载和安装 CLI
- BQ API 也应该具有与 CLI 相同的功能
- 或者您可以使用网络视图快速获得结果
- 照常复制表格
- 然后编写一个查询以从复制的表中删除。
这是一个这样的查询:
#standardSQL
DELETE FROM `BQ_project_name.dataset_name.table_name_COPY`
WHERE 1=1;
推荐阅读
- wpf - 将 listboxitem 内容绑定到列表框的依赖属性
- r - 使用 R 连接到 Redshift 实例而不使用 oVPN
- android - 如何通过文本观察器在 android 中设置文本
- javascript - 使用 jdeveloper 将 FontAwesome 与 xhtml 一起使用时出错
- database - 返回使用 Rocket 和 Diesel (Rust) 在 PostgreSQL 中创建的单个记录
- python-3.x - 将日志记录级别作为变量传递给 python3 代码?
- javascript - 以透明度(CSS 或 JS)在另一张图片上显示一张新图片
- api - 颤振响应始终相同
- flutter - 从数组中删除特定项目会删除 UI 中的错误项目
- ruby-on-rails - 由于 bcrypt,在 Raspberry Pi 2 B 上为 Rails 安装设计 gem 失败