Я много занимаюсь статистикой и использую Python в качестве основного языка. Некоторые из наборов данных, с которыми я работаю, могут занимать 20 ГБ памяти, что делает почти невозможным работу с ними с использованием функций в памяти в numpy, scipy и PyIMSL. Язык статистического анализа SAS имеет здесь большое преимущество в том, что он может работать с данными с жесткого диска, а не только с обработкой в памяти. Но я хочу избежать написания большого количества кода на SAS (по разным причинам) и поэтому пытаюсь определить, какие у меня есть варианты с Python (помимо покупки большего количества оборудования и памяти).
Я должен пояснить, что такие подходы, как сокращение карты, не помогут в большей части моей работы, потому что мне нужно работать с полными наборами данных (например, вычислением квантилей или подбором модели логистической регрессии).
Недавно я начал играть с h5py и думаю, что это лучший вариант, который я нашел для того, чтобы позволить Python действовать как SAS и работать с данными с диска (через файлы hdf5), при этом все еще имея возможность использовать numpy / scipy / matplotlib и т. д. Я хотел бы услышать, есть ли у кого-нибудь опыт использования Python и h5py в аналогичных условиях и что они нашли. Кто-нибудь смог использовать Python в настройках «больших данных», где раньше доминировал SAS?
РЕДАКТИРОВАТЬ: Покупка большего количества оборудования / памяти, безусловно, может помочь, но с точки зрения ИТ мне трудно продавать Python организации, которой необходимо анализировать огромные наборы данных, когда Python (или R, или MATLAB и т. Д.) Должен содержать данные в памяти. SAS по-прежнему имеет сильные коммерческие преимущества, поскольку дисковая аналитика может работать медленнее, но вы можете уверенно работать с огромными наборами данных. Итак, я надеюсь, что Stackoverflow-ers могут помочь мне понять, как уменьшить предполагаемый риск при использовании Python в качестве основного языка анализа больших данных.