在Python 2.7中读取大型lz4压缩JSON数据集

时间:2017-08-30 17:31:39

标签: python json python-2.7 lz4

我需要分析作为lz4压缩JSON文件分发的大型数据集。

压缩文件几乎是1TB。由于成本原因,我不想将其解压缩到磁盘。数据集中的每个“记录”都非常小,但将整个数据集读入内存显然是不可行的。

有关如何在Python 2.7中对这个大型lz4压缩JSON文件中的记录进行迭代的任何建议吗?

1 个答案:

答案 0 :(得分:2)

python lz4 bindings版本0.19.1开始,完全支持提供的缓冲IO。所以,你应该能够做到这样的事情:

import lz4.frame
chunk_size = 128 * 1024 * 1024
with lz4.frame.open('mybigfile.lz4', 'r') as file:
    chunk = file.read(size=chunk_size)
    # Do stuff with this chunk of data.

将从文件读取大约128 MB的数据。

除此之外:我是python lz4软件包的维护者 - 如果您对软件包有问题,或者如果project page中的内容不明确,请在documentation上执行文件问题。