O Python tem algumas ferramentas muito boas para trabalhar com big data:
entorpecido
As matrizes mapeadas por memória do Numpy permitem acessar um arquivo salvo no disco como se fosse uma matriz. Somente as partes da matriz com a qual você está trabalhando ativamente precisam ser carregadas na memória. Ele pode ser usado praticamente da mesma forma que uma matriz comum.
h5py e pytables
Essas duas bibliotecas fornecem acesso aos arquivos HDF5. Esses arquivos permitem o acesso a apenas parte dos dados. Além disso, graças às bibliotecas subjacentes usadas para acessar os dados, muitas operações matemáticas e outras manipulações dos dados podem ser feitas sem carregá-las em uma estrutura de dados python. Arquivos maciços e altamente estruturados são possíveis, muito maiores que 5 TB. Ele também permite compactação perfeita e sem perdas.
bases de dados
Existem vários tipos de bancos de dados que permitem armazenar grandes conjuntos de dados e carregar apenas as partes necessárias. Muitos bancos de dados permitem que você faça manipulações sem carregar os dados em uma estrutura de dados python.
pandas
Isso permite acesso de nível superior a vários tipos de dados, incluindo dados HDF5, arquivos csv, bancos de dados e até sites. Para big data, ele fornece wrappers para acesso a arquivos HDF5, facilitando a análise de conjuntos de big data.
mpi4py
Esta é uma ferramenta para executar seu código python de maneira distribuída em vários processadores ou mesmo em vários computadores. Isso permite que você trabalhe em partes de seus dados simultaneamente.
dask
Ele fornece uma versão do array numpy normal que suporta muitas das operações numpy normais de uma maneira com vários núcleos que podem trabalhar com dados muito grandes para caber na memória.
chama
Uma ferramenta projetada especificamente para big data. É basicamente um invólucro nas bibliotecas acima, fornecendo interfaces consistentes para uma variedade de métodos diferentes de armazenamento de grandes quantidades de dados (como HDF5 ou bancos de dados) e ferramentas para facilitar a manipulação, a execução de operações matemáticas e a análise de dados que é grande demais para caber na memória.