Нет такого файла или каталога в режиме спарк кластера - PullRequest
0 голосов
/ 03 июня 2018

Я пишу потоковое приложение с использованием pyspark, которое в основном обрабатывает данные.

Краткий обзор упаковки: это приложение содержит несколько модулей и некоторые файлы конфигурации, которые не являются файлами .py (например:.yaml или .json) .

Я упаковываю все это приложение в файл package.zip и отправляю этот package.zip в spark.

Теперь проблема в том, когда я выпускаюкоманда spark-submit в режиме кластера пряжи.Я получаю IOError.Ниже приведена стековая трассировка

 Traceback (most recent call last):
   File "main/main.py", line 10, in <module>
     import logger.logger
   File "package.zip/logger/logger.py", line 36, in get_logger
   IOError: [Errno 2] No such file or directory: 'logger/config.yaml'

Spark-Command: spark-submit - главный кластер пряжи - py-files package.zip main / main.py

Но когда я отправляю задание в режиме клиента-пряжи, приложение работает должным образом.

Мое понимание:

  1. Когда я отправляю задание в режиме клиента, драйвер зажигания работает на той же машине, где я дал команду.И пакет распределяется по всем узлам.
  2. И когда я запускаю команду в режиме кластера, оба искровой драйвер и мастер приложений запускаются в одном узле (который являетсяне клиент, предоставивший код.) и все же пакет распространяется на все узлы кластера.

В обоих случаях package.zip доступен для всех узлов, тогда почему загружаются только файлы py ине Py файлы не удалось загрузить в режиме кластера.

Может ли кто-нибудь помочь мне разобраться в ситуации здесь и решить проблему?

Обновлено -

Наблюдения

В Режим клиента Распакованный пакет распаковывается впуть, по которому работает скрипт драйвера.Где, как в Режим кластера , ZIP-пакет распределяется по всему узлу, но не распаковывается.Здесь мне нужно распаковать пакет во всех узлах? Есть ли какой-нибудь способ заставить spark распаковать пакет в рабочем узле?

1 Ответ

0 голосов
/ 28 сентября 2018

Вы можете передать свои дополнительные файлы с опцией --files.

https://jaceklaskowski.gitbooks.io/mastering-apache-spark/content/spark-submit.html

...