Time Travel 是 Lakehouse 的历史数据访问和恢复机制,允许查询表在任意历史时间点的数据状态,或将表回滚到过去的某个版本。
能做什么
能力
说明
查询历史数据
查看表在某个时间点的数据状态
恢复误删数据
将表回滚到误操作前的版本
恢复误删表
通过
UNDROP TABLE
UNDROP TABLE
恢复已删除的表
审计数据变更
查看表的历史版本列表
快速示例
-- 查询昨天某时刻的数据
SELECT * FROM orders
TIMESTAMP AS OF '2024-01-15 10:00:00';
-- 查看表的历史版本
DESC HISTORY orders;
-- 将表回滚到指定版本
RESTORE TABLE orders TO TIMESTAMP AS OF '2024-01-15 10:00:00';
-- 恢复误删的表
UNDROP TABLE orders;
⚠️
TIMESTAMP AS OF
TIMESTAMP AS OF
只接受字面量常量,不支持
NOW() - INTERVAL 1 DAY
NOW() - INTERVAL 1 DAY
这类表达式。
数据保留配置
Time Travel 的历史数据保留时长通过
data_retention_days
data_retention_days
控制,默认 1 天,最长可设置为 90 天。保留期之外的历史版本无法访问。
-- 设置表的数据保留天数
ALTER TABLE orders SET PROPERTIES ('data_retention_days'='7');