我知道在Pyspark中,RDD不会逐步计算。但是在这段代码中,我发现即使我使用try1
函数,也没有任何内容与d
相关联。那么如果我想在函数中间做一些事情,不仅仅是函数的返回结果,我该怎么办?
df=pd.DataFrame([[1,2],[3,4]])
dt=sc.parallelize(np.array(df.T))
d=[]
def try1(x):
d.append(1)
return set(x)
print (dt.map(try1).collect())
print (d)
结果:
[{1, 3}, {2, 4}]
[]