Различные версии Python между главным и рабочим узлами Datapro c - PullRequest
3 голосов
/ 30 января 2020

Я создал кластер datapro c с Anaconda в качестве дополнительного компонента и создал виртуальную среду. в этом. Теперь при запуске файла pyspark py на главном узле я получаю эту ошибку -

Исключение: Python в рабочей версии отличается от версии 2.7, чем в драйвере 3.6, PySpark не может работать с другими второстепенными версиями .Проверьте, правильно ли установлены переменные окружения PYSPARK_ PYTHON и PYSPARK_DRIVER_PYTHON.

Мне нужен пакет RDKit внутри виртуальной среды. и с этим python 3x версия устанавливается. Следующие команды на моем главном узле, а затем версия python изменятся.

conda create -n my-venv -c rdkit rdkit=2019.*   
conda activate my-venv
conda install -c conda-forge rdkit

Как мне решить эту проблему?

1 Ответ

1 голос
/ 30 января 2020

Здесь есть несколько вещей:

Изображение 1.3 (по умолчанию) использует conda с Python 2.7. Я рекомендую переключиться на 1.4 (--image-version 1.4), который использует conda с Python 3.6.

Если эта библиотека понадобится рабочим, вы можете использовать это действие инициализации, чтобы применить изменение последовательно для всех узлов.

Pyspark в настоящее время не поддерживает virtualenvs, но эта поддержка идет. В настоящее время вы можете запустить программу pyspark из virtualenv, но это не означает, что работники будут работать внутри virtualenv. Можно ли применить ваши изменения к базовой среде conda без virtualenv?

Дополнительную информацию можно найти здесь https://cloud.google.com/dataproc/docs/tutorials/python-configuration

...