如何在Foundry中保存数据集(order_clean)的历史版本?
保存数据集指定历史版本的操作方法(以Delta Lake为例)
以下操作适用于支持事务版本管理且历史版本在保留策略窗口内的场景:
- 第一步:确认目标历史版本
执行命令查看数据集的所有保留版本,找到你需要的版本号或时间戳:
DESCRIBE HISTORY order_clean;
返回结果会包含版本号(version)、操作时间、操作类型等信息,确认目标版本处于保留窗口内。
- 第二步:将指定版本保存为独立数据集
如果需要长期留存该版本(避免后续被保留策略清理),可以将其复制为新表:
-- X替换为目标版本号 CREATE TABLE order_clean_historic_vX AS SELECT * FROM order_clean VERSION AS OF X;
若只需导出到存储路径(如对象存储),可使用:
-- X替换为目标版本号,路径替换为你的存储地址 COPY INTO '/storage/path/order_clean_historic_vX' FROM (SELECT * FROM order_clean VERSION AS OF X) FILEFORMAT = PARQUET;
- 第三步:验证保存结果
查询新生成的数据集,和原历史版本的数据做对比,确保一致:
-- 验证新表 SELECT COUNT(*), MAX(order_id) FROM order_clean_historic_vX; -- 对比原版本 SELECT COUNT(*), MAX(order_id) FROM order_clean VERSION AS OF X;
如果使用的是Hudi、Iceberg等其他版本化数据湖框架,核心逻辑一致:先通过版本/时间戳定位目标历史数据,再将其复制或导出为独立的存储对象/表即可。
内容的提问来源于stack exchange,提问作者Kevin Zhang
相关产品推荐
相关产品推荐

