以下是我班级的功能:
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)
Run Code Online (Sandbox Code Playgroud)
但是当我在" main "中调用下面的函数时,它报告错误如:""看来你正试图从广播中引用SparkContext""
class.RDD.labelByValue((('a', 1), ('b', 2), ('c', 3)))
Run Code Online (Sandbox Code Playgroud)
我自己找不到任何东西.所以我来这里寻求帮助提前谢谢.