簡體   English   中英

是否可以將 Conda 環境用作 Hadoop 流作業(在 Python 中)的“virtualenv”?

[英]Is is possible to use a Conda environment as “virtualenv” for a Hadoop Streaming Job (in Python)?

我們目前正在使用 Luigi、MRJob 和其他框架來使用 Python 運行 Hadoop 流作業。 我們已經能夠使用自己的 virtualenv 傳送作業,因此節點中沒有安裝特定的 Python 依賴項( 請參閱文章)。 我想知道是否有人對 Anaconda/Conda 包管理器做過類似的事情。

PD。 我也知道Conda-Cluster ,但它看起來像一個更復雜/復雜的解決方案(並且它在付費牆后面)。

我不知道一種將 conda 環境打包在 tar/zip 中的方法,然后將其解壓縮到不同的盒子中並准備好使用您提到的示例,這可能是不可能的。 至少在所有工作節點中沒有 Anaconda 的情況下,在不同操作系統之間移動也可能存在問題。

Anaconda Cluster 就是為了解決這個問題而創建的(免責聲明:我是 Anaconda Cluster 開發人員)但它使用了一種更復雜的方法,基本上我們使用配置管理系統(salt)在集群中的所有節點中安裝 anaconda 並控制康達環境。

我們使用配置管理系統,因為我們還部署了 hadoop 堆棧(spark 和它的朋友)並且我們需要針對大型集群,但實際上如果您只需要部署 anaconda 並且沒有很多節點,您應該能夠做到這一點僅使用結構(Anaconda Cluster 在某些部分也使用)並在普通筆記本電腦上運行它。

如果您對 Anaconda Cluster 文檔感興趣,請訪問: http : //continuumio.github.io/conda-cluster/

2019 年更新:

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM