Presto, кодировать массив целых чисел в двоичную форму и загружать как байтовую строку - PullRequest
0 голосов
/ 03 августа 2020

Как я могу быстрее прочитать разреженную матрицу из 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. Но я не мог найти, как это можно сделать. ? Есть ли способ это оптимизировать?

...