有一个类Class1
。它有两种方法:set_data
和get_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
}]