QPe*_*ran 5 apache-spark databricks delta-lake
有没有一种简单的方法可以选择以前的增量表版本作为当前/工作版本?
我们可以不通过 创建另一个版本overwrite/truncate,而是将一个版本指定为“当前/最新”版本吗?
这个操作更像是undo,完全去掉一些步骤,让数据回到前一个阶段。然后在执行select * from MYTABLE此操作时MYTABLE可以指向恢复的版本。
SQL 或 PySpark 都会受到赞赏!
Ehs*_*zir 16
您可以使用以下方式找到增量表的历史记录
DESCRIBE HISTORY yourTblName
Run Code Online (Sandbox Code Playgroud)
它将为您提供表的历史记录,其中包括Version, TimesStamp, UserId/Name ,Operation
要获取以前的版本,您可以执行几个步骤,如下
SELECT max(version) -1 as previousVersion FROM (DESCRIBE HISTORY yourTblName)
Run Code Online (Sandbox Code Playgroud)
它会给你以前的版本(你可以将其保存在某个变量中),然后在版本中使用它
select * from yourTblName Version as of 7
Run Code Online (Sandbox Code Playgroud)
您将有以前版本的记录。
将数据表恢复到早期版本:
RESTORE TABLE yourTblName TO VERSION AS OF 7
Run Code Online (Sandbox Code Playgroud)
Databricks 文档:https://docs.databricks.com/delta/delta-utility.html#restore-a-delta-table-to-an-earlier-state
| 归档时间: |
|
| 查看次数: |
27649 次 |
| 最近记录: |