Delta Lake如何移出不想要的旧版本数据?

提问者:帅平 问题分类:大数据

在Delta Lake中所有的数据都被物化成了数据文件,因此有很多旧版本的数据,有时候我们想要删除一些旧版本的数据怎么办?

1 个回答
泛白的记忆使沉迷
泛白的记忆使沉迷

使用vacuum方法即可,例如:

val deltaTable = DeltaTable.forPath(spark, outputPath)
deltaTable.vacuum(1)

里面可以指定默认的保存时间,单位是小时,例如这里设置的是1,则保留时间小于1个小时的文件,超过1个小时的文件都删除掉。切记这里的小时如果低于168,则需要在spark session里面设置如下参数:

spark.databricks.delta.retentionDurationCheck.enabled = false

发布于:3个月前 (12-19)
我来回答