Можно написать код PySpark и использовать spark-submit
следующими способами:
- Отправить файл
.py
: spark-submit hello.py
- Отправить файл яйца или почтовый индекс с
--py-files
и файл драйвера: spark-submit --py-files hello.egg driver.py
, где driver.py
вызывает функции в пакете hello
Для локальной работы пакетов в файле requirements.txt
яйца и пакетов в driver.py
должен был бы быть установлен на локальном компьютере.
Но как насчет искрового кластера?Яйцо не содержит фактических зависимостей;он содержит только информацию о том, какие пакеты должны быть там.Если вы используете нестандартную библиотеку, такую как pandas, вам нужно установить эти пакеты в кластере с помощью pip
.
Я хочу использовать разные версии pandas - 0.24.2
и 0.25.0
- в разных заявках на один и тот же кластер.Локальная установка панд по всему кластеру, а затем замена на другую версию не кажется идеальной.Есть ли чистый способ сделать это с виртуальными средами?