我有一个{100}行和20M列的pyspark.mllib.linalg.SparseMatrix
。在PySpark中将其保存为稀疏矩阵的最佳格式是什么?
我发现另一篇文章与一年前的主题略有不同,但答案并不能解决我的问题。 Link to a similar question
答案 0 :(得分:1)
稀疏矩阵是数据的表示,允许您在计算期间在RAM内存中使用更少的空间。
如果您想要保留数据,则需要考虑:
sequenceFile
格式,其中您将坐标作为键,将非零值作为值。
parquet
格式,您可以在其中保存密集矩阵,但实际上镶木地板可以优化列中的重复值,因此可以很好地压缩矩阵上的零。您还可以在列中提取(row, column, value)
之类的表示,并将所有非零值放在那里,然后以镶木地板格式保存。