delta表回滚到以前的版本

0s0u357o  于 2021-05-17  发布在  Spark
关注(0)|答案(1)|浏览(727)

有没有一种简单的方法可以选择以前的增量表版本作为当前/工作版本?
而不是通过 overwrite/truncate ,我们能否将一个版本指定为“当前/最新”版本?
这次行动更像 undo ,完全删除了一些步骤,使数据进入前一阶段。那么在做的时候 slecet * from MYTABLE 这个 MYTABLE 可以指向还原的版本。
sql或Pypark都会被通知!

yftpprvb

yftpprvb1#

您可以使用

DESCRIBE HISTORY yourTblName

它会给你的历史表,其中包括 Version, TimesStamp, UserId/Name ,Operation
要获得以前的版本,可以执行以下步骤:

SELECT max(version) -1 as perviousVersion  FROM (DESCRIBE HISTORY yourTblName)

它将为您提供以前的版本(您可以将其保存在某个变量中),然后在的版本中使用该版本

select * from yourTblName Version as of 7

您将拥有以前版本的记录。
将数据表还原到早期版本:

RESTORE TABLE yourTblName  TO VERSION AS OF 7

Databricks文档:https://docs.databricks.com/delta/delta-utility.html#restore-表到状态

相关问题