Size: a a a

2021 March 15

МЛ

Максим Лыжков... in Data Engineers
Артур Семенов
Как правильно запустить python-скрипт через spark2-submit в cluster mode, с учетом того, что в условном файле запуска: run.py есть импорты из других пакетов (соседней директории с модулем)
Пробовал через сборку пакета в .egg файл и добавления его в py-files - не взлетает (получаю ошибку non zero exit code 13)
собираешь нужные тебе модули в папку, (допустим с именем zipmodule) собираешь папку в .zip,
в Спарк сабмите  указываешь зип в pyfiles конфе
Спарк сам разошлёт зип на воркеры и добавит в PYTHONPATH
В run.py делаешь from zipmodule.yourmodule import somefunction
источник

АС

Артур Семенов... in Data Engineers
Максим Лыжков
собираешь нужные тебе модули в папку, (допустим с именем zipmodule) собираешь папку в .zip,
в Спарк сабмите  указываешь зип в pyfiles конфе
Спарк сам разошлёт зип на воркеры и добавит в PYTHONPATH
В run.py делаешь from zipmodule.yourmodule import somefunction
То есть, если у меня есть модуль core (q.py, w.py, e.py init.pyinit.py)
Я его просто зипую и в run.py делаю from core.q import func
Верно?
источник

МЛ

Максим Лыжков... in Data Engineers
верно
источник

МЛ

Максим Лыжков... in Data Engineers
только зипуй содержимое папки, а не папку
источник

МЛ

Максим Лыжков... in Data Engineers
чтобы в архиве сразу было то что тебе нужно, без промежуточной папки
источник

A

Alexander in Data Engineers
KrivdaTheTriewe
Ребят го в @datajobs
Там давно уж не про jobs 😁
источник

ME

Max Efremov in Data Engineers
Там что-то тоже техничечкое началось...
источник

AS

Andrey Smirnov in Data Engineers
Артур Семенов
Как правильно запустить python-скрипт через spark2-submit в cluster mode, с учетом того, что в условном файле запуска: run.py есть импорты из других пакетов (соседней директории с модулем)
Пробовал через сборку пакета в .egg файл и добавления его в py-files - не взлетает (получаю ошибку non zero exit code 13)
можно через конда ставить нужные пакеты на кластер
источник

UD

Uncel Duk in Data Engineers
Артур Семенов
Как правильно запустить python-скрипт через spark2-submit в cluster mode, с учетом того, что в условном файле запуска: run.py есть импорты из других пакетов (соседней директории с модулем)
Пробовал через сборку пакета в .egg файл и добавления его в py-files - не взлетает (получаю ошибку non zero exit code 13)
источник

АС

Артур Семенов... in Data Engineers
проблема в том, что конды нет, и все "нужные" пакеты уже стоят на клестаре в парселях, кроме собственных модулей
источник

А

Андрей in Data Engineers
Местное производство
источник

АС

Артур Семенов... in Data Engineers
Максим Лыжков
чтобы в архиве сразу было то что тебе нужно, без промежуточной папки
сделал, в core.zip лежат только *.py файлы, но при запуске сабмита получаю ошибку: Cannot load main class from JAR path/to/core.zip
источник

PE

Petr Ermakov in Data Engineers
Артур Семенов
сделал, в core.zip лежат только *.py файлы, но при запуске сабмита получаю ошибку: Cannot load main class from JAR path/to/core.zip
А там нет.so файлов?
источник

PE

Petr Ermakov in Data Engineers
zipimport не умеет.so
источник

АС

Артур Семенов... in Data Engineers
эту ошибку исправил (нужно было убрать пробел между перечислением в py-files)
Но контекст так и не взлетел, с той же ошибкой
non zero exit code 13
источник

VG

Vladimir Gavrilenko in Data Engineers
Артур Семенов
эту ошибку исправил (нужно было убрать пробел между перечислением в py-files)
Но контекст так и не взлетел, с той же ошибкой
non zero exit code 13
Код драйвера не должен паковаться
источник

VG

Vladimir Gavrilenko in Data Engineers
источник

АС

Артур Семенов... in Data Engineers
Vladimir Gavrilenko
Код драйвера не должен паковаться
файл, который я запускаю нахожится вне архива
источник

UD

Uncel Duk in Data Engineers
Артур Семенов
проблема в том, что конды нет, и все "нужные" пакеты уже стоят на клестаре в парселях, кроме собственных модулей
конда на кластере не нужна
источник

АС

Артур Семенов... in Data Engineers
```
spark2-submit \
   --deploy-mode cluster \
   --master yarn \
   --principal examplename \
   --py-files dist/data_model_feed-0.1.0-py3.5.egg,core.zip \
   --keytab examplename-aa.keytab \
   --driver-memory 64GB \
   --conf spark.app.name=submit_test \
   --conf spark.executor.memory=18GB \
   --conf spark.executor.cores=8 \
   --conf spark.dynamic.allocationEnabled=true \
   --conf spark.sql.legacy.allowCreatingManagedTableUsingNonemptyLocation=true \
   --verbose \
   run.py

```
источник