java.io.IOException: невозможно запустить программу python с помощью Spark в Pycharm (Windows)

Я пытаюсь написать очень простой код, используя Spark в Pycharm, и моя операционная система — Windows 8. Я столкнулся с несколькими проблемами, которые каким-то образом удалось исправить, за исключением одной. Когда я запускаю код с помощью pyspark.cmd, все работает плавно, но мне не повезло с тем же кодом в pycharm. Возникла проблема с переменной SPARK_HOME, которую я исправил с помощью следующего кода:

import sys
import os
os.environ['SPARK_HOME'] = "C:/Spark/spark-1.4.1-bin-hadoop2.6"
sys.path.append("C:/Spark/spark-1.4.1-bin-hadoop2.6/python")
sys.path.append('C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark')

Итак, теперь, когда я импортирую pyspark, и все в порядке:

from pyspark import SparkContext

Проблема возникает, когда я хочу запустить остальную часть моего кода:

logFile = "C:/Spark/spark-1.4.1-bin-hadoop2.6/README.md"
sc = SparkContext()
logData = sc.textFile(logFile).cache()
logData.count()

Когда я получаю следующую ошибку:

15/08/27 12:04:15 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0)
java.io.IOException: Cannot run program "python": CreateProcess error=2, The system cannot find the file specified

Я добавил путь Python в качестве переменной среды, и он правильно работает с использованием командной строки, но я не мог понять, в чем моя проблема с этим кодом. Любая помощь или комментарий приветствуются.

Спасибо

См. также:  Хорошая идея - использовать два управления состоянием в одном проекте флаттера?
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 4
  1. ahajib

    После двух дней борьбы с этим я понял, в чем проблема. Я добавил следующее в переменную «PATH» как переменную среды Windows:

    C:/Spark/spark-1.4.1-bin-hadoop2.6/python/pyspark
    C:\Python27
    

    Помните, что вам нужно изменить каталог туда, где установлена ​​ваша искра, и то же самое для python. С другой стороны, я должен упомянуть, что я использую предварительно собранную версию Spark, в которую включен Hadoop.

    Желаем удачи всем вам.

    Я попытался добавить указанную выше строку в свою переменную PATH, но все равно безуспешно. Я все еще получаю сообщение об ошибке при выполнении из eclipse. Моя переменная Path выглядит примерно так:% {EXISTING_PATH}%;% PY_HOME%;% PY_HOME% \ Scripts;% SPARK_HOME% \ bin;% SPARK_HOME% \ python \ pyspark. Я попытался поставить сначала переменную искры, а потом — pythong, как в% {EXISTING_PATH} %;% SPARK_HOME% \ bin;% SPARK_HOME% \ python \ pyspark;% {EXISTING_PATH}%;% PY_HOME%;% PY_HOME% \ Scripts;% SPARK_HOME% \ bin;% SPARK_HOME% \ python \ pyspark% PY_HOME% = : \ Python2.7.11% SPARK_HOME% = C: \ Spark1.6Hadoop2.6 person ahajib; 13.03.2016

    Я сделал все по следующей ссылке: enahwe .blogspot.in / p / person ahajib; 13.03.2016

  2. ahajib

    Я столкнулся с этой проблемой, она вызвана конфликтами версий python на разных узлах кластера, поэтому ее можно решить с помощью

    export PYSPARK_PYTHON=/usr/bin/python
    

    которые являются той же версией на узлах различий. а затем запустите:

    pyspark
    
  3. ahajib

    Мне пришлось установить SPARK_PYTHONPATH в качестве переменной среды, чтобы указать на файл python.exe в дополнение к переменным PYTHONPATH и SPARK_HOME как

    SPARK_PYTHONPATH=C:\Python27\python.exe
    
  4. ahajib

    У меня была та же проблема, что и у вас, и я внес следующие изменения: установил PYSPARK_PYTHON в качестве переменной среды, чтобы указать на python.exe в Редактировать конфигурации </ strong > из Pycharm, вот мой пример:

    PYSPARK_PYTHON = D: \ Anaconda3 \ python.exe

    SPARK_HOME = D: \ spark-1.6.3-bin-hadoop2.6

    PYTHONUNBUFFERED = 1

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: