Опыт использования h5py для аналитической работы с большими данными на Python?

Я выполняю много статистической работы и использую Python в качестве основного языка. Некоторые из наборов данных, с которыми я работаю, могут занимать 20 ГБ памяти, что делает работу с ними с использованием функций в памяти в numpy, scipy и PyIMSL практически невозможной. Язык статистического анализа SAS имеет большое преимущество в том, что он может работать с данными с жесткого диска, а не строго в памяти. Но я хочу избежать написания большого количества кода на SAS (по разным причинам) и поэтому пытаюсь определить, какие возможности у меня есть с Python (помимо покупки дополнительного оборудования и памяти).

Я должен уточнить, что такие подходы, как map-reduce, не помогут в большей части моей работы, потому что мне нужно работать с полными наборами данных (например, вычисление квантилей или подбор модели логистической регрессии).

Недавно я начал играть с h5py и считаю, что это лучший вариант, который я нашел для того, чтобы позволить Python действовать как SAS и работать с данными с диска (через файлы hdf5), при этом все еще имея возможность использовать numpy / scipy / matplotlib и т. д. Я хотел бы услышать, есть ли у кого-нибудь опыт использования Python и h5py в аналогичных настройках и что они нашли. Кто-нибудь смог использовать Python в «больших данных»? в настройках до сих пор преобладала SAS?

РЕДАКТИРОВАТЬ: Покупка большего количества оборудования / памяти, безусловно, может помочь, но с точки зрения ИТ мне сложно продавать Python организации, которой необходимо анализировать огромные наборы данных, когда Python (или R, или MATLAB и т. Д.) Необходимо удерживать данные в памяти. SAS по-прежнему имеет здесь сильное преимущество, потому что, хотя аналитика на основе дисков может быть медленнее, вы можете уверенно работать с огромными наборами данных. Итак, я надеюсь, что разработчики Stackoverflow помогут мне понять, как снизить предполагаемый риск использования Python в качестве основного языка аналитики больших данных.

46
задан JoshAdel 22 March 2011 в 19:54
поделиться