我正在尝试通过 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。有没有更好的方法来做到这一点?
答案 0 :(得分:0)
正如您猜对的那样,这些方法 restoreToVersion
和 restoreToTimestamp
特定于数据块,并且不存在于开源 deltalake 版本中。开源 deltalake 中没有此类方法的踪迹,您可以查看 delta-lake repository
所以目前,据我所知,除了从以前的版本重写之外,没有其他方法,如 this question
的回答中所述