用例:
- 存储大型数据集(CSV/雪花表)的版本并跨版本查询
DeltaLake 表示,除非我们运行真空命令,否则我们会将历史信息保留在 DeltaTable 中。日志文件每 30 天删除一次。 Here
附加文档指出,我们需要日志文件和数据文件来进行时间旅行。 here
这是否意味着我们只能进行 30 天的时间旅行?
但是 Delta
不是一种文件格式吗?它如何自动删除其日志?
如果有,还有哪些开源版本可以解决跨数据集版本的查询?
最佳答案
只需将数据和日志保留设置设置为很长一段时间即可。
alter table delta.`/path/to/table` set TBLPROPERTIES ('delta.logRetentionDuration'='interval 36500000 days', 'delta.deletedFileRetentionDuration'='interval 36500000 days')
spark.sql("alter table delta.`{table_path}` set TBLPROPERTIES ("
"'delta.logRetentionDuration'='interval {log_retention_days} days', "
"'delta.deletedFileRetentionDuration'='interval {data_rentention_days} days');".format(
table_path="path/to/table",
log_retention_days=36000000,
data_rentention_days=36000000))
关于database - 德尔塔湖 : How to Time Travel infinitely across Datasets?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64274314/