DELTA table 回滚到之前的版本
DELTA table rollback to previous version
有没有简单的方法可以选择以前的 delta table 版本作为 current/working 版本?
我们可以指定一个版本作为“current/latest”版本,而不是通过 overwrite/truncate
创建另一个版本吗?
这个操作更像undo
,完全去掉了一些步骤,让数据回到了上一个stage。然后在做select * from MYTABLE
时这个MYTABLE
可以指向恢复后的版本。
SQL 或 PySpark 都适用!
您可以使用
查找 delta table 的历史记录
DESCRIBE HISTORY yourTblName
它将为您提供 table 的历史记录,其中包括 Version, TimesStamp, UserId/Name ,Operation
要获取以前的版本,您可以执行几个步骤,如
SELECT max(version) -1 as previousVersion FROM (DESCRIBE HISTORY yourTblName)
它会给你以前的版本(你可以把它保存在一些变量中)然后在Version As Of
中使用它
select * from yourTblName Version as of 7
你会有以前版本的记录。
恢复数据table到早期版本:
RESTORE TABLE yourTblName TO VERSION AS OF 7
Databricks 文档:https://docs.databricks.com/delta/delta-utility.html#restore-a-delta-table-to-an-earlier-state
有没有简单的方法可以选择以前的 delta table 版本作为 current/working 版本?
我们可以指定一个版本作为“current/latest”版本,而不是通过 overwrite/truncate
创建另一个版本吗?
这个操作更像undo
,完全去掉了一些步骤,让数据回到了上一个stage。然后在做select * from MYTABLE
时这个MYTABLE
可以指向恢复后的版本。
SQL 或 PySpark 都适用!
您可以使用
查找 delta table 的历史记录DESCRIBE HISTORY yourTblName
它将为您提供 table 的历史记录,其中包括 Version, TimesStamp, UserId/Name ,Operation
要获取以前的版本,您可以执行几个步骤,如
SELECT max(version) -1 as previousVersion FROM (DESCRIBE HISTORY yourTblName)
它会给你以前的版本(你可以把它保存在一些变量中)然后在Version As Of
中使用它select * from yourTblName Version as of 7
你会有以前版本的记录。
恢复数据table到早期版本:
RESTORE TABLE yourTblName TO VERSION AS OF 7
Databricks 文档:https://docs.databricks.com/delta/delta-utility.html#restore-a-delta-table-to-an-earlier-state