2016-11-28 62 views
3

我找不到在hadoop pyspark中刪除hdfs輸出文件的方法。 使用命令:FileAlreadyExists pyspark

hadoop fs -rmdir "path/outputFile.csv" 

當我運行相同的輸出文件名的新工作,我得到的錯誤FileAlreadyExist。

任何人都知道如何處理這種情況? 在此先感謝

回答

0

如果您正在使用dataframes和數據幀格式的輸出,你過像下面這樣寫。

使用
df.write('filepath/filename.csv', mode='overwrite') 
4

從命令行中,你可以使用命令:

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) 
0

您只需做到以下幾點:

import os 
os.system("hadoop fs -rmdir "path/outputFile.csv"") 
1

另一種解決方案pyspark:

import subprocess 
subprocess.call(["hadoop", "fs", "-rm", "path/outputFile.csv"]) 

您可以使用呼叫來執行,我們在命令行中執行任何任務