Записная книжка против spark-submit - PullRequest
0 голосов
/ 25 декабря 2018

Я очень новичок в PySpark.

Я запускаю сценарий (в основном создаю tfidf и прогнозирую 9 категориальных столбцов с его помощью) в Jupyter Notebook.При выполнении всех ячеек вручную требуется около 5 минут.При запуске того же скрипта из spark-submit это занимает около 45 минут.Что происходит?

Также происходит то же самое (избыточное время), если я запускаю код, используя python из терминала.

Я также устанавливаю конфигурацию в сценарии как

conf = SparkConf().set('spark.executor.memory', '45G').set('spark.driver.memory', '80G').set('spark.driver.maxResultSize', '20G')

Любая помощь приветствуется.Заранее спасибо.

1 Ответ

0 голосов
/ 25 декабря 2018

Существуют различные способы запуска кода Spark, как вы упомянули несколько Notebook, Pyspark и Spark-submit.

  1. Относительно Jupyter Notebook или оболочки pyspark.

Когда вы выполняете свой код в блокноте Jupyter или в оболочке pyspark, он может установить некоторые значения по умолчанию для памяти исполнителя, памяти драйвера, ядра исполнителя и т. Д.

Относительно spark-submit.

Однако при использовании Spark-submit эти значения могут отличаться по умолчанию.Поэтому лучшим способом было бы передать эти значения как флаги при отправке приложения pyspark с помощью утилиты «spark-submit».

Что касается созданного вами объекта конфигурации, то его можно передать при создании контекста Spark (sc).

sc = SparkContext (conf = conf)

Надеюсь, это поможет.

С уважением,

Neeraj

...