无法在Pyspark中更新变量

时间:2017-09-06 10:24:38

标签: python scope pyspark

我正在尝试更新 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_demo)中,我得到了正确的值但是当我想在第二种方法中使用相同的变量时,我得到无值。我不知道它为什么不更新变量。类似的逻辑在python中正常工作。

0 个答案:

没有答案