我们有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}'")
1条答案
按热度按时间ngynwnxp1#
你不能使用
VACUUM
直接在云存储上。要进行真空存储,必须将其装载到dbfs并在装载的目录上运行vacuum。reference:azure databricks -真空