Python ma kilka bardzo dobrych narzędzi do pracy z dużymi danymi:
numpy
Tablice odwzorowane pamięciowo Numpy umożliwiają dostęp do pliku zapisanego na dysku, jakby to była tablica. Do pamięci należy załadować tylko te części tablicy, z którymi aktywnie pracujesz. Można go używać tak samo jak zwykłej tablicy.
h5py i pytania
Te dwie biblioteki zapewniają dostęp do plików HDF5. Pliki te umożliwiają dostęp tylko do części danych. Ponadto, dzięki bazowym bibliotekom używanym do uzyskiwania dostępu do danych, można wykonywać wiele operacji matematycznych i innych manipulacji danymi bez ładowania ich do struktury danych w języku Python. Możliwe są ogromne, wysoce ustrukturyzowane pliki, znacznie większe niż 5 TB. Umożliwia także płynną, bezstratną kompresję.
bazy danych
Istnieją różne typy baz danych, które pozwalają przechowywać duże zbiory danych i ładować tylko potrzebne części. Wiele baz danych pozwala na dokonywanie manipulacji bez ładowania danych do struktury danych w języku Python.
pandy
Umożliwia to dostęp na wyższym poziomie do różnych rodzajów danych, w tym danych HDF5, plików csv, baz danych, a nawet stron internetowych. W przypadku dużych zbiorów danych zapewnia otoki wokół dostępu do plików HDF5, co ułatwia analizę zestawów dużych zbiorów danych.
mpi4py
Jest to narzędzie do uruchamiania kodu Pythona w sposób rozproszony na wielu procesorach lub nawet na wielu komputerach. Umożliwia to jednoczesną pracę nad częściami danych.
dask
Zapewnia wersję normalnej tablicy numpy, która obsługuje wiele normalnych operacji numpy w sposób wielordzeniowy, który może pracować na danych zbyt dużych, aby zmieściły się w pamięci.
płomień
Narzędzie zaprojektowane specjalnie dla dużych zbiorów danych. Jest to po prostu opakowanie wokół powyższych bibliotek, zapewniające spójne interfejsy do różnych metod przechowywania dużych ilości danych (takich jak HDF5 lub bazy danych) oraz narzędzia ułatwiające manipulowanie, wykonywanie operacji matematycznych i analizowanie danych, które jest zbyt duży, aby zmieścił się w pamięci.