我已存储使用火花外壳的火花数据帧兽人文件如下:星火删除阿帕奇兽人文件
jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")
我发现数据现在住在WINDOWS \ SYSTEM32 \ applicationsPartitioned
我如何正确删除该orc文件? 我可以关闭spark并且自己移除目录,但是有一些关于这个目录存储的元数据吗?
我已存储使用火花外壳的火花数据帧兽人文件如下:星火删除阿帕奇兽人文件
jdbcDF.write.format("orc").partitionBy("ID").save("applicationsPartitioned")
我发现数据现在住在WINDOWS \ SYSTEM32 \ applicationsPartitioned
我如何正确删除该orc文件? 我可以关闭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)
这将使它的操作系统和文件系统无关。
我改变了“hadoopfs.delete(新路径(路径),递归)” 到“fs.delete(新路径(路径))”,它工作得很好,谢谢! – user979899
@ user979899感谢您的错字。我在答案中解决了它... –
我认为必须手动删除了目录,但如果你想删除的下一个输出的目录,你可以简单的使用方法mode()
覆盖现有目录
jdbcDF.write.format("orc")
.mode(SaveMode.Overwrite)
.partitionBy("ID")
.save("applicationsPartitioned")
希望这有助于!
谢谢,未来可能会使用,但这次我只是想删除它,因为它不在正确的位置。 – user979899
你可以投票,如果这有帮助:) –
你是否以管理员身份运行'cmd'? – philantrovert
是的,如果我不那么spark-shell给出了很多错误 – user979899
在调用'spark-shell'之前改变目录。它默认为C:\ Windows \ System32 \,不建议从那里写入/删除东西。你永远不知道什么时候会打破某些东西。它毕竟是Windows。 – philantrovert