我使用spark shell将spark数据帧存储为orc-file,如下所示:
jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")我发现数据现在位于windows\system32\applicationsPartitioned中
如何正确删除orc-file?我可以直接关闭spark并自行删除目录,但是这个目录中是否存储了一些元数据?
发布于 2017-07-12 19:29:04
您必须手动完成此操作,但是您可以使用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)这将使其独立于操作系统和文件系统。
发布于 2017-07-12 17:31:33
我认为必须手动删除该目录,但如果您尝试删除用于下一次输出的目录,则可以简单地使用mode()方法覆盖现有目录
jdbcDF.write.format("orc")
.mode(SaveMode.Overwrite)
.partitionBy("ID")
.save("applicationsPartitioned")希望这能有所帮助!
https://stackoverflow.com/questions/45053662
复制相似问题