Spark 删除 Apache Orc 文件

Spark remove Apache Orc file

我使用 spark shell 将 spark 数据帧存储为 orc 文件,如下所示:

    jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")

我发现数据现在位于 windows\system32\applicationsPartitioned

如何正确删除 orc 文件? 我可以自己关闭 spark 并删除目录,但是是否有一些元数据存储在这个目录的某处?

我认为必须手动删除目录,但如果您尝试删除下一个输出的目录,您可以简单地使用方法 mode() 覆盖现有目录

jdbcDF.write.format("orc")
.mode(SaveMode.Overwrite)
.partitionBy("ID")
.save("applicationsPartitioned")

希望对您有所帮助!

您必须手动完成,但是您可以使用 hadoop 文件系统来完成。

例如:

import org.apache.hadoop.fs.FileSystem
import org.apache.hadoop.fs.Path
val fs = FileSystem.get(spark.sparkContext.hadoopConfiguration)
fs.delete(new Path(path), recursive)

这将使它 OS 和文件系统独立。