spark RDD saveAsTextFile(path)也是调用的 hdfs的 saveAsHadoopFile 函数,但是并没有什么标志设置是否重写。
所以可以在代码中用hadoop的删除文件代码模块执行后,再写入。(方案一:判定文件路径是否存在,存在则删除,方案二:try catch包含删除操作代码,然后再删除)
//spark scala
import apache.hadoop.fs.FileSystem
import.apache.hadoop.fs.Path
var hadoopconf=HBaseConfiguration.create()
var fs=FileSystem.get(hadoopconf)
var path="xxxx"
try{
if(path.length()>5){//路径名太短的不删除,防止删库跑路
fs.delete(new Path(path),false)//false 直接删除不放入Trash垃圾站
}
}catch{
case ex:Exception=>{
println(ex)
}
}
当然又出现了另一个问题,说路径存在却又无法删除,属于另一个问题,我懒的搞,直接shell手动删除了,时间紧迫,后续再说