You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在BigQuery同一项目中低成本精准复制大型数据表

BigQuery大型表低成本备份方案

你用CREATE TABLE AS SELECT的方式确实会扫描全表,产生高额查询费用,尤其是超大型表。下面几个方案都是无查询成本的精准备份方式:

1. 克隆表(推荐)

BigQuery的克隆表功能是字节级的写时复制,创建时不会扫描或复制全量数据,初始成本为0,且完全保留原表的架构、分区、集群设置、权限等所有属性。

执行SQL即可:

CREATE TABLE `myproject.mydataset.my_new_table`
CLONE `myproject.mydataset.my_old_table`;
  • 克隆表创建后与原表独立,后续原表的修改不会影响克隆表(本质是创建时刻的快照)。
  • 存储成本优化:未修改时与原表共享存储,只有当任意一方有数据变更时,才会额外存储变更部分。

2. 使用bq命令行工具复制

通过bq cp命令执行表复制,同一项目同一区域内的复制属于元数据操作,无数据处理费用,速度极快:

bq cp myproject:mydataset.my_old_table myproject:mydataset.my_new_table

如果是跨区域复制会产生数据传输费用,但你是同一项目内备份,基本可以忽略。

3. 控制台(UI)可视化复制

直接在BigQuery控制台操作:

  • 找到目标表,右键选择「复制」
  • 填写目标数据集和表名,确认即可
    这个操作和命令行、克隆SQL的本质一样,都是无扫描成本的元数据复制,适合不熟悉命令行或SQL的用户。

对比原方法的优势

  • 无查询费用:避免了扫描全表产生的高额成本
  • 精准度更高:完整保留原表的所有结构属性(分区、集群、权限等),CREATE TABLE AS SELECT可能会丢失部分元数据
  • 速度更快:大型表可以在几秒内完成备份

内容的提问来源于stack exchange,提问作者Sander van den Oord

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 18:16:09