无法使用 PySpark 腌制 listreverseiterator 对象

Posted

技术标签:

【中文标题】无法使用 PySpark 腌制 listreverseiterator 对象【英文标题】:can't pickle listreverseiterator objects using PySpark 【发布时间】:2016-10-27 16:54:13 【问题描述】:

我对 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

所以“反转”似乎创建了一个不可序列化的对象——知道如何处理这个问题吗?

非常感谢!

【问题讨论】:

【参考方案1】:

替换:

reversed(range(100))

list(reversed(range(100)))

【讨论】:

以上是关于无法使用 PySpark 腌制 listreverseiterator 对象的主要内容,如果未能解决你的问题,请参考以下文章

pickle.PicklingError:无法腌制未打开读取的文件

用于 PySpark 的酸洗猴子补丁 Keras 模型

无法腌制 Scikit 学习最近邻分类器 - 无法腌制实例方法对象

在类中使用 ProcessPoolExecutor 时无法腌制协程对象

使用多处理 Pool.map() 时无法腌制 <type 'instancemethod'>

TypeError:无法腌制 CompiledFFI 对象