Lectura de un conjunto de datos JSON comprimido de gran tamaño lz4 en Python 2.7

Necesito analizar un conjunto de datos de gran tamaño que se distribuye como un archivo JSON comprimido lz4.

El archivo comprimido es casi 1TB. Prefiero no descomprimirlo en el disco debido al costo. Cada “registro” en el conjunto de datos es muy pequeño, pero obviamente no es posible leer todo el conjunto de datos en la memoria.

¿Algún consejo sobre cómo recorrer los registros en este gran archivo JSON comprimido con lz4 en Python 2.7?

A partir de la versión 0.19.1 de los enlaces de Python lz4 , se proporciona soporte completo para IO en búfer. Entonces, deberías poder hacer algo como:

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. 

que leerá los datos del archivo a aproximadamente 128 MB a la vez.

Aparte: soy el mantenedor del paquete python lz4; haga los problemas de archivo en la página del proyecto si tiene problemas con el paquete o si algo no está claro en la documentación .