如何在pyspark中读取和写入coordinateMatrix到文件

问题描述 投票:0回答:1

我在pyspark中有一个非常稀疏的数据帧,我将这个数据帧转换为CoordinatedMatrix。现在我想在hdfs上保存这个矩阵,以便稍后重用它来训练我的模型。不幸的是,我没有找到任何解决方案。有什么建议?

例:

>> mat.entries.collect()
[MatrixEntry(1, 0, 1.0), MatrixEntry(1, 1, 1.0), MatrixEntry(1, 2, 2.0),MatrixEntry(1, 3, 1.0), MatrixEntry(2, 0, 2.0), MatrixEntry(2, 1, 1.0), MatrixEntry(2, 2, 3.0), MatrixEntry(2, 3, 5.0)]
apache-spark pyspark
1个回答
1
投票

这里没有推荐的格式,CoordinateMatrix结构非常简单,所以你可以选择任何东西,例如Parquet:

mat.entries.toDF().write.parquet(path) 

后来读到:

CoordinateMatrix(spark.read.parquet(path).rdd.map(lambda row: MatrixEntry(*row)))
© www.soinside.com 2019 - 2024. All rights reserved.