Как я могу быстрее прочитать разреженную матрицу из Presto и использовать меньше памяти? Я пытаюсь построить разреженную матрицу CSR в python, используя следующий запрос.
SELECT
test_index AS row_ind,
ARRAY_AGG(
file_index
ORDER BY
file_index
) AS col_inds
Будет возвращено около 500K строк, 4B чисел во всех массивах индексов столбцов вместе.
Этот запрос в настоящее время занимает 90 минут и использует память 160 ГБ.
Я читал кое-что о кодировании целых чисел col_inds в байтовую строку с использованием большого или малого порядка байтов, что могло бы ускорить загрузку массива для col_inds. Но я не мог найти, как это можно сделать. ? Есть ли способ это оптимизировать?