pyspark中addPyFile的用法不明确

pyspark中addPyFile的用法不明确,pyspark,Pyspark,pyspark中有一个addPyFile方法,但我不知道如何使用它,而且它在网上的使用很少。我认为addPyFile可以将python文件传递给spark节点,我测试了它: sc.addPyFile("/sparkLearning/tools/redis_util.py") rdd = sc.parallelize([('a', 10), ('b', 20), ('c', 30)]) def map_1(row): redis_util = redis_util.RedisUtil()

pyspark中有一个
addPyFile
方法,但我不知道如何使用它,而且它在网上的使用很少。我认为
addPyFile
可以将python文件传递给spark节点,我测试了它:

sc.addPyFile("/sparkLearning/tools/redis_util.py")
rdd = sc.parallelize([('a', 10), ('b', 20), ('c', 30)])

def map_1(row):
    redis_util = redis_util.RedisUtil()
    k = row[0]
    v = row[1]
    redis_util.set(name=k, value=v)
rdd.map(map_1).collect()

出现错误:
UnboundLocalError:assignment之前引用的局部变量'redis_util'
,但是如何获取
addPyFile
的用法?

您导入了
redis_util
?我已经使用addPyFile添加了文件,是否需要再次导入?您能否提供完整的错误消息?