我找不到在hadoop pyspark中删除hdfs输出文件的方法。 使用命令:FileAlreadyExists pyspark
hadoop fs -rmdir "path/outputFile.csv"
当我运行相同的输出文件名的新工作,我得到的错误FileAlreadyExist。
任何人都知道如何处理这种情况? 在此先感谢
我找不到在hadoop pyspark中删除hdfs输出文件的方法。 使用命令:FileAlreadyExists pyspark
hadoop fs -rmdir "path/outputFile.csv"
当我运行相同的输出文件名的新工作,我得到的错误FileAlreadyExist。
任何人都知道如何处理这种情况? 在此先感谢
如果您正在使用dataframes和数据帧格式的输出,你过像下面这样写。
使用df.write('filepath/filename.csv', mode='overwrite')
从命令行中,你可以使用命令:
hdfs dfs rm -r /path/to/myDir/
从星火,你可以做(Scala中):
import org.apache.hadoop.fs.{FileSystem,Path}
import java.net.URI
val dirPath = "/path/to/my/dir/"
val fileSystem = FileSystem.get(URI.create(dirPath), sqlContext.sparkContext.hadoopConfiguration)
fileSystem.delete(new Path(dirPath), true)
您只需做到以下几点:
import os
os.system("hadoop fs -rmdir "path/outputFile.csv"")
另一种解决方案pyspark:
import subprocess
subprocess.call(["hadoop", "fs", "-rm", "path/outputFile.csv"])
您可以使用呼叫来执行,我们在命令行中执行任何任务