У нас есть более старая версия Anaconda, загруженная в виде пакета на нашем кластере Hadoop cloudera, и мы хотели обновить его до последней версии. В старой версии по умолчанию мы не обнаружили пакетов тензор потока, геоданных, noaa_sdk, thrift_sasl, gensim и нескольких других, которые необходимы для использования в нашей практике использования данных. Мы установили их вручную через кластер.
Мой вопрос будет, если я обновлю Anaconda, будут ли пакеты доступны, которые установлены вручную? Или мне нужно снова установить их?
Предполагаю, что вы установили Anaconda на узлы хауопа с помощью пакетов Cloudera?
https://www.cloudera.com/downloads/partner/anaconda.html
Если да, то вы правы, вам придется переустановить все, что вы установили поверх узлов хаоса.
Клаудера смотрит на посылки как " неизменные " - их состояние не должно меняться. Поэтому, когда вы устанавливаете что-то поверх пакетов или меняете их каким-либо образом, ожидайте, что изменения могут быть потеряны. (например, перераспределение пакетов, так как оно снова развяжет парцеллы). То же самое касается обновлений. В новой версии Anaconda имеется только новый tar файл (это то, что посылка в основном есть, с некоторыми метаданными).
Если вы заинтересованы в управлении средами Python - посмотрите на виртуальную среду conda
- https://conda.io/docs/user-guide/overview.html
или conda-pack
специально в качестве примера для Spark на YARN - https://conda.github.io/conda-pack/spark.html
В настоящее время мы переносим все наши рабочие места Spark в среду conda
, вместо того, чтобы полагаться на пакеты Anaconda.
PS. Я заметил, что вы используете тег python-2.7
для этой темы. Обратите внимание, что бесплатные пакеты Anaconda Cloudera (начиная с версии Anaconda 5) больше не предоставляют Python2
. Python3
будет Python3
. Осторожно! Это изменение вызвало отвращение. И это была еще одна причина перехода на conda
поскольку мы можем легко переключаться между Python2
и Python3
по проекту.