我使用火花外壳将火花数据帧存储为兽人文件,如下所示:
jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")
我发现数据现在位于Windows\system32\applications分区中
如何正确删除兽人文件? 我可以关闭 spark 并自己删除目录,但是是否有一些关于此目录的元数据存储在某个地方?
您必须手动执行此操作,但是您可以使用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)
这将使它独立于操作系统和文件系统。
我认为必须手动删除目录,但是如果您尝试删除目录以进行下一次输出,则可以简单地使用方法mode()
覆盖现有目录
jdbcDF.write.format("orc")
.mode(SaveMode.Overwrite)
.partitionBy("ID")
.save("applicationsPartitioned")
希望这有帮助!