(null) запись в исключении командной строки в saveAsTextFile () на Pyspark
Я работаю в PySpark на ноутбуке Jupyter (Python 2.7) в windows 7. У меня есть RDD типа pyspark.rdd.PipelinedRDD
под названием idSums
. При попытке выполнить idSums.saveAsTextFile("Output")
, Я получаю следующую ошибку:
Py4JJavaError: An error occurred while calling o834.saveAsTextFile.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 33.0 failed 1 times, most recent failure: Lost task 1.0 in stage 33.0 (TID 131, localhost): java.io.IOException: (null) entry in command string: null chmod 0644 C:UsersserideDesktopExperimentsPySparkOutput_temporary_temporaryattempt_201611231307_0033_m_000001_131part-00001
не должно быть никаких проблем с объектом RDD, на мой взгляд, потому что я могу выполнять другие действия без ошибок, например, выполнение idSums.collect()
производит правильный выход.
кроме того,Output
создается каталог (со всеми подкаталогами) и файл part-00001
создается, но это 0 байт.
2 ответов
вам не хватает winutils.exe
двоичный файл hadoop . В зависимости от x64 бит / x32 бит системы загрузите winutils.exe
file & set ваш Hadoop home, указывающий на него .
1-й способ :
1.Загрузите файл
2.Создайте папку hadoop в вашей системе ex " C:"
3.Создайте папку bin в каталоге Hadoop ex : C:\hadoop\bin
4.вставьте winutils.exe в bin ex: C:\hadoop\bin\winuitls - ... exe
5.В Пользовательские переменные в свойствах системы - > предварительные системные настройки
Создать Новую Переменную Имя: HADOOP_HOME Путь: \C:\hadoop
2-й способ :
вы можете установить Hadoop home непосредственно в своей Java-программе со следующей командой:
та же процедура, что описана выше @Hapreet Varma
вам не хватает winutils.exe двоичный файл hadoop . В зависимости от x64 бит / x32 бит системы загрузите winutils.exe-файл и установите Hadoop home, указав на него .
1-й способ :
1.Загрузите файл
2.Создайте папку hadoop в вашей системе ex " C:"
3.Создайте папку bin в каталоге Hadoop ex : C:\hadoop\bin
4.вставьте winutils.exe в bin ex: C:\hadoop\bin\winuitls.exe
5.В переменных пользователя в свойствах системы -> расширенные настройки системы
создать новую переменную название: Путь HADOOP_HOME:\C:\hadoop
2-й способ :
вы можете установить Hadoop home непосредственно в своей Java-программе со следующей командой: