我使用spark shell将spark数据框存储为orc-file,如下所示:
jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")
我发现数据现在存在于windows \ system32 \ applicationsPartitioned
中如何正确删除orc文件? 我可以关闭spark并自己删除目录,但是有一些关于这个目录存储的元数据吗?
答案 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和文件系统独立。