运送python模块在pyspark到其他节点?

如何将C编译模块(例如,python-Levenshtein)发送到spark集群中的每个节点?

我知道我可以使用独立的python脚本(下面的示例代码)在spark中发布python文件:

from pyspark import SparkContext sc = SparkContext("local", "App Name", pyFiles=['MyFile.py', 'MyOtherFile.py']) 

但是在没有“.py”的情况下,我该如何运送模块?

如果您可以将模块打包到.egg.zip文件中,那么在构buildpyFiles时应该能够在pyFiles列出它(或者您可以稍后通过sc.addPyFile添加它)。

对于使用setuptools的Python库,您可以运行python setup.py bdist_egg来构build一个egg distribution。

另一个select是通过在每台机器上使用pip / easy_install或通过在整个群集文件系统(如NFS)上共享Python安装来在群集范围内安装库。