是否可以使用Conda环境作为" virtualenv" for Hadoop Streaming Job(在Python中)?

时间:2015-04-23 14:53:50

标签: python hadoop anaconda mrjob

我们目前正在使用Luigi,MRJob和其他框架来使用Python运行Hadoo流媒体作业。我们已经能够使用自己的virtualenv发布作业,因此节点中没有安装特定的Python依赖项(see the article)。我想知道是否有人与Anaconda / Conda Package Manager做过类似的事情。

PD。我也知道Conda-Cluster,但它看起来像一个更复杂/更复杂的解决方案(并且它在付费墙后面)。

2 个答案:

答案 0 :(得分:1)

我不知道如何在tar / zip中打包conda环境然后在另一个框中解压缩它并准备好使用,就像你提到的例子一样,这可能是不可能的。至少在所有工作节点中没有Anaconda,在不同的操作系统之间可能存在问题。

创建Anaconda Cluster是为了解决这个问题(免责声明:我是Anaconda Cluster开发人员)但是它采用了更复杂的方法,基本上我们使用配置管理系统(salt)在集群的所有节点中安装anaconda并控制conda环境。

我们使用配置管理系统,因为我们还部署了hadoop堆栈(spark和它的朋友),我们需要针对大型集群,但实际上如果你只需要部署anaconda并且没有很多节点你应该能够只使用Fabric(Anaconda Cluster也在某些部分使用)并在普通笔记本电脑上运行它。

如果您对Anaconda Cluster感兴趣,请访问:http://continuumio.github.io/conda-cluster/

答案 1 :(得分:0)

更新2019:

答案是肯定的,使用conda-pack的方法

https://conda.github.io/conda-pack/