Я пытаюсь написать очень простой код, используя 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 в качестве переменной среды, и он правильно работает с использованием командной строки, но я не мог понять, в чем моя проблема с этим кодом. Любая помощь или комментарий приветствуются.
Спасибо
После двух дней борьбы с этим я понял, в чем проблема. Я добавил следующее в переменную «PATH» как переменную среды Windows:
Помните, что вам нужно изменить каталог туда, где установлена ваша искра, и то же самое для 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
Я столкнулся с этой проблемой, она вызвана конфликтами версий python на разных узлах кластера, поэтому ее можно решить с помощью
которые являются той же версией на узлах различий. а затем запустите:
Мне пришлось установить
SPARK_PYTHONPATH
в качестве переменной среды, чтобы указать на файл python.exe в дополнение к переменнымPYTHONPATH
иSPARK_HOME
какУ меня была та же проблема, что и у вас, и я внес следующие изменения: установил PYSPARK_PYTHON в качестве переменной среды, чтобы указать на python.exe в Редактировать конфигурации </ strong > из Pycharm, вот мой пример: