TL; DRСпарк CSV IOException Mkdirs не удалось создать файл
Спарк 1.6.1 не удается записать файл CSV с помощью искровой CSV 1.4 на отдельном кластере, без HDFS с IOException Mkdirs не удалось создать файл
Подробнее:
Я работаю над приложением Spark 1.6.1, которое запускает его на автономном кластере, используя локальную файловую систему (на машине, на которой я работаю, даже нет HDFS) с Scala. У меня есть этот фреймворк, который я пытаюсь сохранить как файл CSV с помощью HiveContext.
Это то, что я бегу:
exportData.write
.mode(SaveMode.Overwrite)
.format("com.databricks.spark.csv")
.option("delimiter", ",")
.save("/some/path/here") // no hdfs:/ or file:/ prefix in the path
Искра 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
Полный StackTrace является:
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: /, которого у меня нет. Я также попытался добавить файл: /, file: //, file: /// префикс без удачи
- права доступа - я попытался решить эту проблему, установив папку 777
- проблема с MacBook, которая, вероятно, не имеет отношения ко мне так как я работаю над Ubuntu
- проблемы с безопасностью - осмотрев мой стек, я не смог найти никакого сбоя безопасности.
- удаления/префикс в начале моего пути к файлу - Я попробовал это, а не повезло
- другие безответных вопросы, касающиеся этой проблемы
ли кто-нибудь имеет ни малейшего представления о том, что именно проблема? И как его преодолеть?
Заранее спасибо
, пожалуйста, объясните, как вы исправили вышеуказанную проблему. Сама проблема с тем же вопросом – developer