【问题标题】:pyspark map with user defined function not working when written outside script在脚本外部编写时,具有用户定义功能的 pyspark 地图不起作用
【发布时间】: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 映射一起使用?

谢谢

【问题讨论】:

    标签: python python-2.7 apache-spark pyspark 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'])
    猜你喜欢
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    相关资源
    最近更新 更多