无法更新Pysp中的变量

2024-09-27 00:16:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试更新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中运行良好。你知道吗


Tags: 方法selfaddmapreturnvaluedemodef

热门问题