首页 > 解决方案 > Anaconda 升级包的可用性

问题描述

我们在我们的 Hadoop cloudera 集群上下载了旧版本的 Anaconda,并希望将其升级到最新版本。在旧版本中,默认情况下,我们没有找到数据科学用例所需的包 tensorflow、geopandas、noaa_sdk、thrift_sasl、gensim 和其他一些包。我们已经在集群中手动安装了它们。

我的问题是,如果我升级 Anaconda,手动安装的软件包是否可用?还是我必须重新安装它们?

标签: pythonapache-sparkhadoopanacondacloudera

解决方案


我假设您使用 Cloudera 包裹在 hadoop 节点上安装了 Anaconda?

https://www.cloudera.com/downloads/partner/anaconda.html

如果是,那么您是正确的,您必须重新安装在 hadoop 节点上安装的所有内容。

Cloudera 将包裹视为“不可变的”——它们的状态不应该改变。因此,当您在包裹上安装某些东西或以任何方式更改它们时,预计您所做的更改可能会丢失。(例如,包裹重新部署,因为它会再次解压包裹)同样适用于升级 - 新的 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切换。Python2Python3


推荐阅读