Spark Delta 表恢复到版本

时间:2021-04-26 17:12:54

标签: apache-spark databricks delta-lake

我正在尝试通过 spark java 将增量表恢复到以前的版本,我使用的是本地 ide。代码如下

import io.delta.tables.*; 
DeltaTable deltaTable = DeltaTable.forPath(spark, <path-to-table>); 
DeltaTable deltaTable = DeltaTable.forName(spark, <table-name>); 
deltaTable.restoreToVersion(0) // restore table to     oldest version
deltaTable.restoreToTimestamp("2019-02-14") // restore to a specific timestamp

根据文档 databricks doc,此处给出的方法在 delta-core 版本 0.8.0 中不可用。该方法也不在 api docs 中。

这仅在 Datbricks 运行时可用吗?

目前我必须加载以前的版本并使用 delta 重写 df。有没有更好的方法来做到这一点?

1 个答案:

答案 0 :(得分:0)

正如您猜对的那样,这些方法 restoreToVersionrestoreToTimestamp 特定于数据块,并且不存在于开源 deltalake 版本中。开源 deltalake 中没有此类方法的踪迹,您可以查看 delta-lake repository

所以目前,据我所知,除了从以前的版本重写之外,没有其他方法,如 this question

的回答中所述
相关问题