在脚本外部编写时,具有用户定义功能的 pyspark 地图不起作用
Posted
技术标签:
【中文标题】在脚本外部编写时,具有用户定义功能的 pyspark 地图不起作用【英文标题】:pyspark map with user defined function not working when written outside script 【发布时间】:2017-08-28 09:12:45 【问题描述】:我正在使用带有 pyspark 的 python 2.7,
我使用了一个用户定义的函数,当我这样使用它时效果很好
def func(x):
pass
RDD.map(lambda x:func(x))
但是当我在另一个名为 utils 的脚本中创建函数并使用
from utils import func as func
RDD.map(lambda x:func(x))
我收到一个错误
ImportError: 没有名为 utils 的模块
如何从用户定义的模块中导入函数并将其与 RDD 映射一起使用?
谢谢
【问题讨论】:
【参考方案1】:在命令行中:
spark-submit --py-files utils.py ...
或者在脚本中:
sc.addPyFile('file:///path/to/utils.py')
【讨论】:
请不要忘记添加一些文字来解释您的答案 - 为什么它有效以及它如何解决原始问题 如何使用 spark 上下文将其集成到 python 脚本中?SparkContext().getConf().set('pyfiles',['file:///path/to/utils.py'])
以上是关于在脚本外部编写时,具有用户定义功能的 pyspark 地图不起作用的主要内容,如果未能解决你的问题,请参考以下文章