Python tiene algunas herramientas muy buenas para trabajar con big data:
numpy
Las matrices mapeadas en memoria de Numpy le permiten acceder a un archivo guardado en el disco como si fuera una matriz. Solo las partes de la matriz con las que está trabajando activamente deben cargarse en la memoria. Se puede usar más o menos igual que una matriz ordinaria.
h5py y pytables
Estas dos bibliotecas proporcionan acceso a archivos HDF5. Estos archivos permiten el acceso a solo parte de los datos. Además, gracias a las bibliotecas subyacentes utilizadas para acceder a los datos, se pueden realizar muchas operaciones matemáticas y otras manipulaciones de los datos sin cargarlos en una estructura de datos de Python. Son posibles archivos masivos y altamente estructurados, mucho más grandes que 5 TB. También permite una compresión perfecta y sin pérdidas.
bases de datos
Existen varios tipos de bases de datos que le permiten almacenar grandes conjuntos de datos y cargar solo las partes que necesita. Muchas bases de datos le permiten realizar manipulaciones sin cargar los datos en una estructura de datos de Python.
pandas
Esto permite un acceso de alto nivel a varios tipos de datos, incluidos datos HDF5, archivos csv, bases de datos e incluso sitios web. Para big data, proporciona envoltorios alrededor del acceso a archivos HDF5 que facilita el análisis en conjuntos de big data.
mpi4py
Esta es una herramienta para ejecutar su código python de forma distribuida en múltiples procesadores o incluso en múltiples computadoras. Esto le permite trabajar en partes de sus datos simultáneamente.
dask
Proporciona una versión de la matriz numpy normal que admite muchas de las operaciones numpy normales de una manera multinúcleo que puede funcionar en datos demasiado grandes para caber en la memoria.
resplandor
Una herramienta diseñada específicamente para big data. Básicamente es un contenedor alrededor de las bibliotecas anteriores, que proporciona interfaces consistentes para una variedad de métodos diferentes de almacenamiento de grandes cantidades de datos (como HDF5 o bases de datos) y herramientas para facilitar la manipulación, realizar operaciones matemáticas y analizar datos que es demasiado grande para caber en la memoria.