presto,将整数数组编码为二进制并作为字节字符串加载

bkhjykvo  于 2021-07-24  发布在  Java
关注(0)|答案(0)|浏览(269)

如何更快地从presto读取稀疏矩阵并使用更少的内存?我正尝试使用以下查询在python中构建csr稀疏矩阵。

SELECT
    test_index AS row_ind,
    ARRAY_AGG(
        file_index
        ORDER BY
            file_index
    ) AS col_inds

将返回大约500k行,所有列索引数组中的4b个数字加起来。
此查询当前需要90分钟,并使用160gb内存。
我读了一些关于使用big或little endian将列的整数编码成字节字符串的内容,这可以加快列的数组加载。但我找不到确切的方法。
另外,我正在使用presto\u utils.get\u typed\u dataframe()将数据作为Dataframe进行分块收集,这与高内存使用率有关吗?有没有办法优化这个?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题