Spark删除Apache Orc文件

时间:2017-07-12 09:24:01

标签: apache-spark orc

我使用spark shell将spark数据框存储为orc-file,如下所示:

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

希望这有帮助!

答案 1 :(得分:1)

您必须手动执行此操作,但您可以使用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和文件系统独立。