2024-06-13 08:00:30 发布
网友
如何将C编译的模块(例如,python Levenshtein)发送到Spark集群中的每个节点?
我知道我可以使用一个独立的Python脚本(下面的示例代码)在Spark中发布Python文件:
from pyspark import SparkContext sc = SparkContext("local", "App Name", pyFiles=['MyFile.py', 'MyOtherFile.py'])
但在没有“.py”的情况下,如何运送模块?
如果您可以将模块打包成一个.egg或.zip文件,那么在构造SparkContext时,您应该能够将它列在pyFiles中(或者您可以稍后通过sc.addPyFile添加它)。
.egg
.zip
pyFiles
对于使用setuptools的Python库,可以运行python setup.py bdist_egg来构建egg发行版。
python setup.py bdist_egg
另一个选项是在集群范围内安装库,可以在每台计算机上使用pip/easy_install,也可以在集群范围内的文件系统(如NFS)上共享Python安装。
这里有两个主要选项:
人们还建议using ^{} to test if the module is present on the cluster。
如果您可以将模块打包成一个
.egg
或.zip
文件,那么在构造SparkContext时,您应该能够将它列在pyFiles
中(或者您可以稍后通过sc.addPyFile添加它)。对于使用setuptools的Python库,可以运行
python setup.py bdist_egg
来构建egg发行版。另一个选项是在集群范围内安装库,可以在每台计算机上使用pip/easy_install,也可以在集群范围内的文件系统(如NFS)上共享Python安装。
这里有两个主要选项:
人们还建议using ^{} to test if the module is present on the cluster 。
相关问题 更多 >
编程相关推荐