在PySpark中存储大型SparseMatrix的最佳效率格式是什么

时间:2018-06-05 04:33:29

标签: python apache-spark pyspark sparse-matrix

我有一个{100}行和20M列的pyspark.mllib.linalg.SparseMatrix。在PySpark中将其保存为稀疏矩阵的最佳格式是什么?

我发现另一篇文章与一年前的主题略有不同,但答案并不能解决我的问题。 Link to a similar question

1 个答案:

答案 0 :(得分:1)

稀疏矩阵是数据的表示,允许您在计算期间在RAM内存中使用更少的空间。

如果您想要保留数据,则需要考虑:

  • sequenceFile格式,其中您将坐标作为键,将非零值作为值。

  • parquet格式,您可以在其中保存密集矩阵,但实际上镶木地板可以优化列中的重复值,因此可以很好地压缩矩阵上的零。您还可以在列中提取(row, column, value)之类的表示,并将所有非零值放在那里,然后以镶木地板格式保存。