如何将C编译模块(例如python- Levenshtein)运送到Spark集群中的每个节点?
我知道我可以使用独立的Python脚本(以下示例代码)在Spark中运送Python文件:
from pyspark import SparkContext sc = SparkContext("local", "App Name", pyFiles=['MyFile.py', 'MyOtherFile.py'])
但是在没有“ .py”的情况下,我该如何运送模块?
如果可以将模块打包到.egg或.zip文件中,则在pyFiles构造SparkContext时应该可以将其列出(或者以后可以通过sc.addPyFile进行添加)。
.egg
.zip
pyFiles
对于使用setuptools的Python库,您可以运行python setup.py bdist_egg以构建egg发行版。
python setup.py bdist_egg
另一种选择是通过在每台计算机上使用pip / easy_install或通过在群集范围内的文件系统(如NFS)上共享Python安装来在群集范围内安装库。