Python, пытаясь запустить pyspark, выдает FileNotFoundError: [WinError 2]

Вопрос или проблема

Я просто пытаюсь запустить простой код на pyspark, но всегда получаю ошибку winerror2.

    from pyspark import SparkConf,SparkContext
    conf = SparkConf().setMaster("local[*]").setAppName("test_spark_app")
    sc = SparkContext(conf=conf)
    print(sc.version)
    sc.stop()

Затем я пытался выяснить, в чем на самом деле проблема. Вот текст конкретной ошибки, возможно, там есть что-то на китайском, это просто название файла.


traceback (most recent call last):
  File "D:\pycharm\pythonProject2\第三阶段\py_spark\spark基础.py", line 11, in <module>
    sc = SparkContext(conf=conf)
         ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\ProgramData\anaconda3\Lib\site-packages\pyspark\context.py", line 195, in __init__
    SparkContext._ensure_initialized(self, gateway=gateway, conf=conf)
  File "D:\ProgramData\anaconda3\Lib\site-packages\pyspark\context.py", line 417, in _ensure_initialized
    SparkContext._gateway = gateway or launch_gateway(conf)
                                       ^^^^^^^^^^^^^^^^^^^^
  File "D:\ProgramData\anaconda3\Lib\site-packages\pyspark\java_gateway.py", line 99, in launch_gateway
    proc = Popen(command, **popen_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\ProgramData\anaconda3\Lib\site-packages\subprocess.py", line 1026, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "D:\ProgramData\anaconda3\Lib\site-packages\subprocess.py", line 1538, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 2] 系统找不到指定的文件。

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

Ответ или решение

Ошибка FileNotFoundError: [WinError 2] при запуске PySpark свидетельствует о том, что система не может найти исполняемый файл, необходимый для запуска Spark. Это распространенная проблема, особенно у пользователей Windows. Вот пошаговое решение вашей проблемы:

Шаг 1: Убедитесь, что Spark установлен и настроен правильно

  1. Загрузка:
    Убедитесь, что вы скачали Apache Spark с официального сайта. Например, выберите последнюю версию и версию Hadoop.

  2. Раскомпоновка:
    Распакуйте скачанный архив в удобное для вас место, например, C:\spark.

Шаг 2: Установка переменных среды

  1. Создайте переменные среды:
    Вам необходимо настроить переменные среды для вашего окружения, чтобы система могла найти исполняемые файлы Spark и Java.

    • SPARK_HOME: Установите переменную SPARK_HOME на путь к директории Spark. Например: C:\spark.
    • HADOOP_HOME: Если вы скачали Spark с поддержкой Hadoop, установите HADOOP_HOME на соответствующий путь. Например: C:\spark\hadoop.
  2. Обновите переменную PATH:
    Добавьте следующие пути в вашу переменную PATH:

    • %SPARK_HOME%\bin
    • %HADOOP_HOME%\bin (если используете Hadoop)

    Чтобы сделать это, выполните следующие шаги:

    • Щелкните правой кнопкой мыши на "Этот компьютер" или "Мой компьютер", выберите "Свойства".
    • Нажмите на "Дополнительные параметры системы".
    • Нажмите на кнопку "Переменные среды".
    • Найдите переменную Path в разделе "Системные переменные" и выберите "Изменить".
    • Добавьте новые пути, как указано выше.

Шаг 3: Убедитесь, что Java установлена

  1. Установка Java:
    Spark требует установки Java Development Kit (JDK). Установите JDK с официального сайта Oracle или AdoptOpenJDK.

  2. Установите переменную JAVA_HOME:
    После установки Java создайте переменную окружения JAVA_HOME, указывающую на папку с установленной Java, например: C:\Program Files\Java\jdk-11.x.x.

  3. Обновите переменную PATH:
    Добавьте путь к папке bin JDK в переменную PATH:

    • %JAVA_HOME%\bin

Шаг 4: Проверка конфигурации

После завершения всех шагов откройте новую командную строку и выполните команду:

spark-shell

Если все настроено правильно, вы должны увидеть заглавие Apache Spark и интерфейс командной строки.

Шаг 5: Запуск вашего кода

Теперь попробуйте снова выполнить ваш код:

from pyspark import SparkConf, SparkContext
conf = SparkConf().setMaster("local[*]").setAppName("test_spark_app")
sc = SparkContext(conf=conf)
print(sc.version)
sc.stop()

Возможные проблемы

Если ошибка все еще возникает, убедитесь, что в системе нет конфликтующих установок Python и Apache Spark, которые могут использовать разные версии Java. Также, если вы используете Anaconda, иногда может потребоваться установка PySpark непосредственно через conda.

Если следующие рекомендации не помогли, проверьте, работают ли другие приложения, использующие Java, и убедитесь, что они корректно настроены.

Заключение

Эти шаги должны помочь вам устранить ошибку FileNotFoundError и успешно запустить PySpark на вашем компьютере с Windows. Если у вас возникают дополнительные трудности, не стесняйтесь задавать вопросы на форумах или в сообществах по этому вопросу.

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

Капча загружается...