TL; DR星火CSV IOException異常Mkdirs無法創建文件
星火1.6.1失敗與IOException異常Mkdirs沒有一個HDFS集羣獨立使用星火CSV 1.4編寫一個CSV文件無法創建文件
更多細節:
我正在使用Scala在一個使用本地文件系統(我運行的機器甚至沒有HDFS)的獨立羣集上運行Spark 1.6.1應用程序。我有這個數據框,我試圖使用HiveContext保存爲CSV文件。
這是我運行的是什麼:
exportData.write
.mode(SaveMode.Overwrite)
.format("com.databricks.spark.csv")
.option("delimiter", ",")
.save("/some/path/here") // no hdfs:/ or file:/ prefix in the path
,我使用的Spark CSV爲1.4。 當運行這段代碼,我得到以下異常:
WARN TaskSetManager:70 - Lost task 4.3 in stage 10.0: java.io.IOException: Mkdirs failed to create file: /some/path/here/_temporary/0
完整的堆棧跟蹤是:
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:442)
at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:428)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:908)
at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:801)
at org.apache.hadoop.mapred.TextOutputFormat.getRecordWriter(TextOutputFormat.java:123)
at org.apache.spark.SparkHadoopWriter.open(SparkHadoopWriter.scala:91)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1$$anonfun$13.apply(PairRDDFunctions.scala:1193)
at org.apache.spark.rdd.PairRDDFunctions$$anonfun$saveAsHadoopDataset$1$$anonfun$13.apply(PairRDDFunctions.scala:1185)
at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
at org.apache.spark.scheduler.Task.run(Task.scala:89)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
輸出目錄不會獲取創建,但其空。我試着運行它使用火花外殼,我做的是創建一個虛擬的數據框,然後使用完全相同的代碼保存(也到同一路徑)保存它。它成功了。
我檢查的權限爲我寫的文件夾,並把它改成777,但基本上它仍在運行星火工作
谷歌搜索就提示時不工作:
- 改變文件前綴通過刪除hdfs:/我沒有反正。我也嘗試添加文件:/,文件://,文件:///前綴沒有運氣
- 權限問題 - 我試圖解決這個問題,使文件夾777
- 某些MacBook問題可能與我無關因爲我正在研究Ubuntu
- 安全問題 - 檢查我的堆棧跟蹤,我找不到任何安全失敗。
- 我的文件路徑的開頭刪除/前綴 - 我想它也沒有運氣
- 其他懸而未決的問題關於這個問題
任何人不會有什麼問題究竟出在什麼想法?如何克服它?
在此先感謝
請解釋您如何解決上述問題。我自己得到同樣的問題 – developer