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

是否可将BigQuery表恢复到指定时间戳对应的历史状态?

BigQuery恢复到指定时间戳状态的方法

可以将BigQuery表恢复到指定时间戳的较早状态,核心通过FOR SYSTEM_TIME AS OF时间旅行语法结合写入操作实现,具体说明如下:

前提条件

  • BigQuery默认提供7天的表时间旅行能力,可自行调整最长至47天,仅时间窗口内的历史状态可被恢复

具体操作方法

1. 验证指定时间点的表数据

你可以先用如下语句查看目标时间点的表内容,确认符合恢复预期:

SELECT *
FROM `你的项目ID.你的数据集名.你的表名`
FOR SYSTEM_TIME AS OF '目标时间戳';

官方示例:

SELECT *
FROM t
FOR SYSTEM_TIME AS OF '2017-01-01 10:00:00-07:00';

2. 执行恢复操作

确认数据无误后,可根据需求选择两种恢复方式:

  • 恢复为新表:不会影响当前表数据,适合需要比对验证的场景
CREATE TABLE `你的项目ID.你的数据集名.恢复后的新表名`
AS
SELECT *
FROM `你的项目ID.你的数据集名.你的表名`
FOR SYSTEM_TIME AS OF '目标时间戳';
  • 直接覆盖原表:确认不需要当前表数据时使用,操作不可逆
CREATE OR REPLACE TABLE `你的项目ID.你的数据集名.你的表名`
AS
SELECT *
FROM `你的项目ID.你的数据集名.你的表名`
FOR SYSTEM_TIME AS OF '目标时间戳';

注意事项

  • 操作覆盖原表前建议先将当前表状态备份为临时表,避免误操作丢失数据
  • 如果仅需要恢复部分数据,可以调整SELECT语句筛选对应内容后再写入目标表
  • 超出时间旅行窗口的历史数据无法通过该方法恢复

内容的提问来源于stack exchange,提问作者Steve Yeom

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 23:21:02