Процесс разработки Spark с использованием Python и IDE - PullRequest
0 голосов
/ 01 ноября 2018

Что такое стандартный процесс разработки с использованием некоторой IDE для spark с python для

  1. Исследование данных в кластере
  2. Разработка приложений?

Я нашел следующие ответы, которые меня не удовлетворяют:

a) Нотбуки Zeeplin / Jupiter, работающие «на кластере»

б)

  • Установите Spark и PyCharm локально,
    • использовать некоторые локальные файлы, содержащие фиктивные данные, для локальной разработки,
    • изменить ссылки в коде на некоторые реальные файлы в кластере,
    • выполнить скрипт, используя spark-submit в консоли кластера.
    • источник: https://de.hortonworks.com/tutorial/setting-up-a-spark-development-environment-with-python/

Я бы хотел сделать а) и б) использовать локально установленную IDE, которая напрямую взаимодействует с кластером, потому что мне не нравится идея создавать локальные фиктивные файлы и изменять код перед запуском его в кластере. Я также предпочел бы IDE по ноутбуку. Есть ли стандартный способ сделать это или мои ответы выше уже "лучшая практика"?

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете использовать любую IDE с PySpark . Вот некоторые инструкции для Eclipse и PyDev :

  • установить переменную HADOOP_HOME, ссылающуюся на местоположение winutils.exe
  • установить переменную SPARK_HOME, ссылающуюся на локальную папку искры
  • установить SPARK_CONF_DIR в папку, в которую скопирована текущая конфигурация кластера (spark-defaults и log4j)
  • добавить% SPARK_HOME% / python / lib / pyspark.zip и % SPARK_HOME% / python / lib / py4j-xx.x.zip в PYTHONPATH интерпретатора

Для целей тестирования вы можете добавить код вроде:

spark = SparkSession.builder.set_master("my-cluster-master-node:7077")..

При наличии соответствующего файла конфигурации в SPARK_CONF_DIR он должен работать только с SparkSession.builder.getOrCreate(). В качестве альтернативы вы можете настроить свои конфигурации запуска для непосредственного использования spark-submit. Некоторые веб-сайты с аналогичными инструкциями для других IDE включают:

...