无法使用 PySpark 腌制 listreverseiterator 对象

can't pickle listreverseiterator objects using PySpark

我对 python 很陌生。以下代码存在一些序列化问题:

from pyspark.mllib.stat import Statistics
import random
data = sc.parallelize([range(100),range(100),random.sample(range(100),100),reversed(range(100))])
print(Statistics.corr(data))

我得到:

TypeError: can't pickle listreverseiterator objects

所以 "reversed" 似乎创建了一个不可序列化的对象 - 知道如何处理这个吗?

非常感谢!

替换:

reversed(range(100))

list(reversed(range(100)))