gpt4 book ai didi

broadcast - Spark 错误 "It appears that you are attempting to reference SparkContext from a broadcast "

转载 作者:行者123 更新时间:2023-12-01 10:39:29 25 4
gpt4 key购买 nike

以下是我的类(class)中的功能:

def labeling(self, value, labelMap, dtype='string'):
if dtype.value == 'string':
result = [i for v,i in labelMap.value if value==v][0]
return result
else:
result = [i for v,i in labelMap.value if value<v][0]
return result

def labelByValue(self, labelMap, dtype='string'):
labeling = self.labeling
labelMap = self.sc.broadcast(labelMap)
dtype = self.sc.broadcast(dtype)
self.RDD = self.RDD.map(labeling)

但是当我在“ main ”中调用下面的函数时,它会报告如下错误:“”似乎您正在尝试从广播“”中引用 SparkContext
class.RDD.labelByValue((('a', 1), ('b', 2), ('c', 3)))

我自己找不到任何东西。
所以我来这里寻求帮助
提前致谢。

最佳答案

我终于完成了这个错误。

错误的一点是用户定义的函数应该放在全局环境中,而不是放在类中。

所以标签应该是这样的:

def labeling(value, labelMap, dtype='string'):
if dtype.value == 'string':
result = [i for v,i in labelMap.value if value==v][0]
return result
else:
result = [i for v,i in labelMap.value if value<v][0]
return result

关于broadcast - Spark 错误 "It appears that you are attempting to reference SparkContext from a broadcast ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31396323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com