我们正在将旧版本的Anaconda作为包裹下载到我们的Hadoop cloudera集群中,并希望将其升级到最新版本。在旧版本中,默认情况下,我们找不到tensorflow,geopandas,noaa_sdk,thrift_sasl,gensim和我们的数据科学用例所需的其他软件包。我们已经在整个集群中手动安装了它们。
我的问题是,如果我升级Anaconda,将提供手动安装的软件包吗?还是我必须重新安装它们?
答案 0 :(得分:1)
我假设您使用Cloudera包裹在hadoop节点上安装了Anaconda?
https://www.cloudera.com/downloads/partner/anaconda.html
如果是,那么您是正确的,您必须重新安装在hadoop节点上安装的所有内容。
Cloudera将宗地视为“ immutable”-它们的状态不应更改。因此,当您在包裹上安装物品或以任何方式更改它们时,期望所做的更改会丢失。 (例如,重新部署宗地,因为它将再次解压宗地)。升级同样适用-新的Anaconda版本仅带有一个新的tar文件(这实际上是宗地,带有一些元数据信息)。
如果您对管理Python环境感兴趣-查看conda
虚拟环境-https://conda.io/docs/user-guide/overview.html
或conda-pack
专门作为YARN上Spark的示例-https://conda.github.io/conda-pack/spark.html
我们当前正在将所有Spark作业迁移到conda
环境中,而不是依赖于Anaconda包裹。
PS。我注意到您正在为此主题使用python-2.7
标签。请注意,免费的Anaconda Cloudera包裹(从Anaconda 5版本开始)不再提供Python2
。它将随附Python3
。谨防!这一变化使我们措手不及。这是迁移到conda
的另一个原因,因为我们现在可以通过项目轻松在Python2
和Python3
之间进行切换。