文件移除

Delta Lake进行了版本控制,因此可以轻松地恢复或访问到数据的旧版本。因此,在某些情况下,Delta lake需要存储多个版本的数据才能实现回滚功能。

存储相同数据的多个版本可能成本很高,因此Delta Lake包含了一个vacuum命令,可以删除数据的旧版本(任何比指定的保留期限早的数据)。下面解释如何使用vacuum命令及其适用场景。

假设要使用下面的people.csv文件来构造一个Delta Lake表,文件内容如下:

first_name,last_name,country
miguel,cordoba,colombia
luisa,gomez,colombia
li,li,china
wang,wei,china
hans,meyer,germany
mia,schmidt,germany

假设将该数据文件存储到HDFS的/data/data_lake/delta_lake/目录下。

首先加载people.csv文件内容到DataFrame中,代码如下:

val path = "/data/data_lake/delta_lake/people.csv"
val df = spark
  .read
  .option("header", "true")
  .option("charset", "UTF8")
  .csv(path)

df.printSchema()
df.show()

执行以上代码,输出内容如下:

root
 |-- first_name: string (nullable = true)
 |-- last_name: string (nullable = t ......
          

......

抱歉,只有登录会员才可浏览!会员登录


《Spark原理深入与编程实战》