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

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

关于如何遍历Python 2.7中这个大型lz4压缩JSON文件中的记录的任何建议?

最佳答案

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上进行文件问题。

关于python - 读取Python 2.7中的大型lz4压缩JSON数据集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45966508/

10-13 04:57