У Python є кілька дуже хороших інструментів для роботи з великими даними:
онімілий
Пам’ятні масиви Numpy, відображені на карті, дозволяють отримати доступ до файлу, збереженого на диску, як би це масив. У пам'ять потрібно завантажувати лише ті частини масиву, з якими активно працюєте. Його можна використовувати майже так само, як і звичайний масив.
h5py та pytables
Ці дві бібліотеки забезпечують доступ до файлів HDF5. Ці файли дозволяють отримати доступ до лише частини даних. Крім того, завдяки базовим бібліотекам, що використовуються для доступу до даних, можна зробити багато математичних операцій та інших маніпуляцій з даними, не завантажуючи їх у структуру даних python. Можливі масивні, високоструктуровані файли, набагато більше 5 ТБ. Це також дозволяє безперешкодне стиснення без втрат.
бази даних
Існують різні типи баз даних, які дозволяють зберігати великі набори даних та завантажувати лише потрібні вам частини. Багато баз даних дозволяють вам робити маніпуляції, не завантажуючи даних взагалі в структуру даних python.
панди
Це дозволяє отримати доступ вищого рівня до різних типів даних, включаючи дані HDF5, файли CSV, бази даних, навіть веб-сайти. Для великих даних він забезпечує обгортки навколо доступу до файлів HDF5, що полегшує аналіз на великих наборах даних.
mpi4py
Це інструмент для запуску вашого python-коду розподіленим способом по декількох процесорам або навіть на декількох комп'ютерах. Це дозволяє одночасно працювати над частинами даних.
дак
Він надає версію звичайного масиву numpy, який підтримує безліч звичайних операцій numpy в багатоядерному режимі, які можуть працювати надто великими даними, щоб вміститись у пам'яті.
спалахнути
Інструмент, спеціально розроблений для великих даних. Це в основному обгортка навколо вищезазначених бібліотек, що забезпечує послідовні інтерфейси для різних методів зберігання великої кількості даних (таких як HDF5 або бази даних) та інструментів, щоб полегшити маніпулювання, виконувати математичні операції та аналізувати дані, які занадто великий, щоб вписатися в пам'ять.