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

What is the best efficient format to store a large SparseMatrix in PySpark

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

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

稀疏矩阵是一种数据表示法,可让您在计算过程中使用更少 space RAM 内存。

如果你想持久化你需要考虑的数据:

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

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