如何在pyspark中读取和写入坐标矩阵到文件
Posted
技术标签:
【中文标题】如何在pyspark中读取和写入坐标矩阵到文件【英文标题】:How to read and write coordinateMatrix to a file in pyspark 【发布时间】:2018-05-17 07:08:56 【问题描述】:我在 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)]
【问题讨论】:
【参考方案1】:这里没有推荐的格式,CoordinateMatrix
的结构非常简单,所以你可以选择几乎任何东西,例如 Parquet:
mat.entries.toDF().write.parquet(path)
后来阅读:
CoordinateMatrix(spark.read.parquet(path).rdd.map(lambda row: MatrixEntry(*row)))
【讨论】:
以上是关于如何在pyspark中读取和写入坐标矩阵到文件的主要内容,如果未能解决你的问题,请参考以下文章
python中使用pyspark 读取和整理日志数据并将数据写入到es中去