运行Spark时我的函数返回一个空列表

时间:2018-10-25 10:49:05

标签: python apache-spark pyspark

有一个类Class1。它有两种方法:set_dataget_data。初始化类后,将创建一个空列表my_data。调用方法set_data时,列表my_data获得输入。

在主程序中,我创建一个名为Class1的对象myObj。我也有一个DataFrame df。然后,我使用Spark的withColumn方法通过调用result的{​​{1}}来创建df的新列set_data

运行Class1时,我可以看到列df.show()的值为result,这意味着方法5已正确执行。但是,set_data返回一个空列表。这意味着该语句被忽略了:

print(myObj.get_data())

我不明白为什么会这样。为什么 self.my_data = [{ "alarm_id":alarm_id, "timestamp":timestamp }] 没有得到任何值并且为空?我尝试在self.my_data内手动定义它,但是即使在这种情况下,set_data的输出也是一个空列表:

get_data

这是我的代码:

self.my_data = [{
    "alarm_id":"14",
    "timestamp":1536585248000
}]

0 个答案:

没有答案