vacuum不删除旧的Parquet文件

cs7cruho  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(385)

我们有azure数据湖以delta-lake格式存储Parquet文件中的数据。每次运行后,在合并新数据的地方,我们调用保留时间为0小时的vacuum来删除旧文件并运行optimize命令。
但由于某些原因,旧文件不会被删除。不过,databricks笔记本中没有错误。上面说有两个文件被删除了,但我还是看到了。我是不是漏掉了什么明显的东西?谢谢!

sqlContext.sql(f"VACUUM  '{adls_location}' RETAIN 0 HOURS")
time.sleep(60)
sqlContext.sql(f"VACUUM  '{adls_location}' RETAIN 0 HOURS")
time.sleep(60)
sqlContext.sql(f"OPTIMIZE '{adls_location}'")
ngynwnxp

ngynwnxp1#

你不能使用 VACUUM 直接在云存储上。要进行真空存储,必须将其装载到dbfs并在装载的目录上运行vacuum。
reference:azure databricks -真空

相关问题