Python dispose de très bons outils pour travailler avec les mégadonnées:
engourdi
Les tableaux mappés en mémoire de Numpy vous permettent d'accéder à un fichier enregistré sur le disque comme s'il s'agissait d'un tableau. Seules les parties de la baie avec lesquelles vous travaillez activement doivent être chargées en mémoire. Il peut être utilisé à peu près comme un tableau ordinaire.
h5py et pytables
Ces deux bibliothèques permettent d'accéder aux fichiers HDF5. Ces fichiers permettent d'accéder à une partie seulement des données. De plus, grâce aux bibliothèques sous-jacentes utilisées pour accéder aux données, de nombreuses opérations mathématiques et autres manipulations des données peuvent être effectuées sans les charger dans une structure de données python. Des fichiers massifs et hautement structurés sont possibles, bien plus gros que 5 To. Il permet également une compression transparente et sans perte.
bases de données
Il existe différents types de bases de données qui vous permettent de stocker des ensembles de données volumineux et de charger uniquement les pièces dont vous avez besoin. De nombreuses bases de données vous permettent de faire des manipulations sans charger les données dans une structure de données python.
pandas
Cela permet un accès de plus haut niveau à divers types de données, y compris les données HDF5, les fichiers csv, les bases de données et même les sites Web. Pour les mégadonnées, il fournit des enveloppes autour de l'accès aux fichiers HDF5 qui facilitent l'analyse sur les ensembles de mégadonnées.
mpi4py
Il s'agit d'un outil pour exécuter votre code python de manière répartie sur plusieurs processeurs ou même plusieurs ordinateurs. Cela vous permet de travailler simultanément sur des parties de vos données.
dask
Il fournit une version du tableau numpy normal qui prend en charge de nombreuses opérations numpy normales de manière multicœur pouvant fonctionner sur des données trop volumineuses pour tenir en mémoire.
flamber
Un outil spécialement conçu pour le big data. Il s'agit essentiellement d'un wrapper autour des bibliothèques ci-dessus, fournissant des interfaces cohérentes à une variété de méthodes différentes de stockage de grandes quantités de données (telles que HDF5 ou des bases de données) et des outils pour faciliter la manipulation, les opérations mathématiques et l'analyse des données qui est trop grand pour tenir dans la mémoire.