【发布时间】:2018-06-06 04:01:00
【问题描述】:
我有一个 pyspark.mllib.linalg.SparseMatrix 有 100k 行和 20M 列。在 PySpark 中将其保存为稀疏矩阵的最佳格式是什么?
我发现另一篇帖子的主题与一年前略有不同,但答案并不能解决我的问题。 Link to a similar question.
【问题讨论】:
标签: python apache-spark pyspark sparse-matrix
我有一个 pyspark.mllib.linalg.SparseMatrix 有 100k 行和 20M 列。在 PySpark 中将其保存为稀疏矩阵的最佳格式是什么?
我发现另一篇帖子的主题与一年前略有不同,但答案并不能解决我的问题。 Link to a similar question.
【问题讨论】:
标签: python apache-spark pyspark sparse-matrix
稀疏矩阵是数据的表示,它允许您在计算期间使用更少的 RAM 内存空间。
如果你想持久化你需要考虑的数据:
sequenceFile 格式,其中将坐标作为键,将非零值作为值。
parquet 格式,您可以在其中保存密集矩阵,但 parquet 优化列中的重复值,因此它可以很好地压缩矩阵上的零。您还可以在列中提取像 (row, column, value) 这样的表示形式,并将所有非零值放在那里,然后以 parquet 格式保存。
【讨论】: