Как запустить код Spark на Python в Jupyter Notebook через командную строку

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

Я пытаюсь импортировать дата-фрейм в Spark, используя модуль pyspark на Python. Для этого я использовал Jupyter Notebook и выполнил код, показанный на скриншоте ниже.

введите описание изображения здесь

После этого я хочу запустить это в CMD, чтобы сохранить свои коды на Python в текстовом файле и сохранить его как test.py (как файл Python). Затем я запускаю этот файл Python в CMD с помощью команды python test.py, приведенной на скриншоте ниже:

введите описание изображения здесь

Итак, моя задача ранее работала, но спустя 3 или 4 часа я снова попытался выполнить тот же процесс, без каких-либо изменений… Затем, к сожалению, я получил следующее сообщение об ошибке:

Может кто-то объяснить, почему это случилось?

Большое спасибо заранее.

введите описание изображения здесь
введите описание изображения здесь

В первый раз, когда вы выполнили свой код, вы, вероятно, выполнили его из того же местоположения, где был ваш файл te.csv.

Вы выполняете этот код в том же местоположении, что и раньше? Если нет, то я предлагаю указать абсолютный путь к te.csv в вашем коде. Это должно сработать без проблем.

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

Чтобы запустить Python код Spark в Jupyter Notebook через командную строку, выполните следующие шаги. Это позволит вам импортировать DataFrame в Spark с использованием модуля PySpark и запускать его из файла Python (.py).

Шаг 1: Установка необходимых пакетов

Убедитесь, что у вас установлен Apache Spark и PySpark. Также убедитесь, что Jupyter Notebook установлен. Для установки необходимых компонентов используйте следующие команды в терминале:

pip install pyspark jupyter

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

Перед тем как писать код, важно убедиться, что ваша среда настроена правильно. В том числе, проверьте, что переменные окружения для Java и Spark установлены. Например, в Windows:

set SPARK_HOME=C:\path\to\spark
set JAVA_HOME=C:\path\to\java
set PATH=%PATH%;%SPARK_HOME%\bin;%JAVA_HOME%\bin

Шаг 3: Написание кода в Jupyter Notebook

Откройте Jupyter Notebook и введите следующий код. Убедитесь, что путь к файлу te.csv корректен:

from pyspark.sql import SparkSession

# Создаем сессию Spark
spark = SparkSession.builder \
    .appName("Spark DataFrame Example") \
    .getOrCreate()

# Чтение CSV файла
df = spark.read.csv("te.csv", header=True, inferSchema=True)

# Показать данные
df.show()

Шаг 4: Сохранение кода в файл

Сохраните свой код в файл test.py. Убедитесь, что файл находится в той же директории, где размещен ваш te.csv, чтобы избежать ошибок пути. Вы также можете указать абсолютный путь к файлу CSV в коде.

Шаг 5: Запуск кода в командной строке

Откройте командную строку и перейдите в директорию с вашим файлом test.py:

cd путь_к_вашей_папке

Запустите скрипт с помощью следующей команды:

python test.py

Возможные ошибки и их устранение

Если вы столкнулись с ошибками при запуске (как в вашем случае), убедитесь, что:

  1. Путь к файлу: Проверьте, находитесь ли вы в той директории, где расположен файл te.csv. Если нет, укажите абсолютный путь в вашем коде.
  2. Проблемы с зависимостями: Убедитесь, что все зависимости установлены, и версии композиций (Python, Spark, Java) совместимы друг с другом.
  3. Переменные окружения: Проверяйте правильность настройки переменных окружения для Java и Spark. Иногда, после переустановки или изменения версий, эти параметры могут сбиваться.

Заключение

Следуя вышеизложенным шагам, вы сможете успешно запустить свой код на Python с использованием Spark, как в Jupyter Notebook, так и из командной строки. Если возникнут дальнейшие вопросы, не стесняйтесь обращаться за дополнительной помощью.

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

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