[英]TypeError: 'GroupedData' object is not iterable in pyspark
[英]How to serialize PySpark GroupedData object?
我正在具有数百万条记录的数据集上运行groupBy()
,并希望保存结果输出(PySpark GroupedData
对象),以便稍后可以反序列化并从该点继续(在此之上运行聚合)需要)。
df.groupBy("geo_city")
<pyspark.sql.group.GroupedData at 0x10503c5d0>
我想避免将GroupedData对象转换为DataFrames或RDD,以便将其保存为文本文件或Parquet / Avro格式(因为转换操作很昂贵)。 还有其他有效的方法可以将GroupedData
对象存储为某种二进制格式,以便更快地进行读取/写入吗? 可能相当于Spark中的泡菜?
没有,因为GroupedData
并不是真正的东西。 它根本不对数据执行任何操作。 它仅描述在对后续agg
结果执行操作时应如何进行实际聚合。
您可能会序列化底层JVM对象并在以后还原它,但这是浪费时间。 由于groupBy
仅描述必须执行的操作,因此从头开始重新创建GroupedData
对象的成本应该可以忽略不计。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.