Мы обновили версию Spark с 2.2 до 2.3, но администраторы не обновили панд. Таким образом, наши задания не выполняются со следующей ошибкой:
ImportError: Pandas> = 0.19.2 должен быть установлен; однако ваша версия была 0.18.1
Наша команда администраторов предложила создать виртуальную машину, загружающую последнюю версию из anaconda (с помощью команды conda create -n myenv anaconda
).
Я сделал это и после активации локальной среды, используя source activate myenv
, когда я вошел в pyspark2, то обнаружил, что он выбирает новую версию pandas.
Но когда я отправляю работу с помощью команды spark2-submit
, она не работает. Я добавил приведенную ниже конфигурацию в команду spark2-submit
--conf spark.pyspark.virtualenv.enabled=true
--conf spark.pyspark.virtualenv.type=conda
--conf spark.pyspark.virtualenv.requirements=/home/<user>/.conda/requirements_conda.txt --conf spark.pyspark.virtualenv.bin.path=/home/<user>/.conda/envs/myenv/bin
Также я заархивировал всю папку python 2.7 и передал ее в опции --py-files
вместе с другими файлами .py --py-files /home/<user>/python.zip
, но все еще получал ту же проблему с версией для панд.
Я пытался следовать инструкциям, указанным в URL https://community.hortonworks.com/articles/104947/using-virtualenv-with-pyspark.html, но все еще не повезло.
Как это исправить и уметь spark2-submit
с нужными пандами?