我正在尝试更新pyspark中的一个变量,并希望在另一个方法中使用相同的变量。我在类中使用@property,当我在python中测试它时,它按预期工作,但是当我尝试在pyspark中实现它时,它不会更新变量。请帮我找出我做错了什么。你知道吗
代码:
class Hrk(object):
def __init__(self, hrkval):
self.hrkval = hrkval
@property
def hrkval(self):
return self._hrkval
@hrkval.setter
def hrkval(self, value):
self._hrkval = value
@hrkval.deleter
def hrkval(self):
del self._hrkval
filenme = sc.wholeTextFiles("/user/root/CCDs")
hrk = Hrk("No Value")
def add_demo(filename):
pfname[]
plname[]
PDOB[]
gender[]
.......i have not mentioned my logic, i skipped that part......
hrk.hrkval = pfname[0]+"@#"+plname[0]+PDOB[0]+gender[0]
return (str(hrk.hrkval))
def add_med(filename):
return (str(hrk.hrkval))
filenme.map(getname).map(add_demo).saveAsTextFile("/user/cloudera/Demo/")
filenme.map(getname).map(add_med).saveAsTextFile("/user/cloudera/Med/")
在我的第一个方法调用(add\u demo)中,我得到了正确的值,但是当我想在第二个方法中使用相同的变量时,我得到的是没有值。我不知道为什么它不更新变量。类似的逻辑在python中运行良好。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐