Какой лучший эффективный формат для хранения больших SparseMatrix в PySpark - PullRequest
0 голосов
/ 05 июня 2018

У меня есть pyspark.mllib.linalg.SparseMatrix с 100k строк и 20M столбцов.Каков наилучший формат для сохранения его в виде разреженной матрицы в PySpark?

Я нашел еще один пост с немного другой темой, чем год назад, но ответы не являются решением моего вопроса. Ссылка на похожий вопрос .

1 Ответ

0 голосов
/ 05 июня 2018

Разреженная матрица - это представление данных, которое позволяет вам использовать меньше места в оперативной памяти во время вычислений.

Если вы хотите сохранить данные, вам необходимо учесть:

  • sequenceFile формат, в котором вы задаете координаты в качестве ключа и ненулевое значение в качестве значения.

  • parquet формат, в котором вы сохраняете плотную матрицу, тем не менее паркет оптимизирует повторяющиеся значения в столбцах, поэтому он может приятно сжимать нули по матрице.Вы также можете извлечь представление типа (row, column, value) в столбцах и поместить туда все ненулевые значения, а затем сохранить в формате партера.

...