将pyspark中的Python模块传送到其他节点

2024-06-13 08:00:30 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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

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


Tags: 模块文件代码frompyimport脚本示例
2条回答

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

对于使用setuptools的Python库,可以运行python setup.py bdist_egg来构建egg发行版。

另一个选项是在集群范围内安装库,可以在每台计算机上使用pip/easy_install,也可以在集群范围内的文件系统(如NFS)上共享Python安装。

相关问题 更多 >