Интерактивная работа со Spark имеет свои особенности, главная из которых - всегда учитывать, что исполнение кода происходит на нескольких узлах. Одним из следствий этого является необходимость создания одинаковой виртуальной среды на нодах, так как иначе вы не можете гарантировать корректную работу. Это касается не только импортированных модулей, но и версии интерпретатора. Готовим venv Сначала найдем базовую версию Python, на основе которой сделаем venv. Если в вашем распоряжении Jupyter, выберите kernel с нужной версией Python и наберите команду: import sys;sys.executable Еще в вашем распоряжении терминал: !which python3.7 Теперь создайте среду любым питоном так: !python3.7 -m venv ../../envs/spark3.7_copy --copies Благодаря параметру --copies в папке среды находятся интерпретаторы, а не ссылки на него: Подводный камень заключается в том, что в зависимости от базового питона, с которым вы создаете среду, по умолчанию в ее bin директории вместо интерпретатора может быть создана ссылка
Как настраивать виртуальное окружение для работы со Spark
19 августа 202319 авг 2023
89
3 мин