我需要分析作为lz4压缩JSON文件分发的大型数据集。
压缩文件几乎是1TB。由于成本原因,我不想将其解压缩到磁盘。数据集中的每个“记录”都非常小,但将整个数据集读入内存显然是不可行的。
有关如何在Python 2.7中对这个大型lz4压缩JSON文件中的记录进行迭代的任何建议吗?
答案 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上执行文件问题。