我做了很多统计工作,并使用Python作为主要语言。我使用的某些数据集可能占用20GB的内存,这使得使用numpy,scipy和PyIMSL中的内存中函数对其进行操作几乎是不可能的。统计分析语言SAS在这里具有很大的优势,因为它可以对硬盘中的数据进行操作,而不是严格地在内存中进行处理。但是,由于各种原因,我想避免不得不在SAS中编写大量代码,因此尝试确定我对Python有哪些选择(除了购买更多的硬件和内存)。
我需要澄清的是,像map-reduce这样的方法对我的大部分工作没有帮助,因为我需要处理完整的数据集(例如,计算分位数或拟合logistic回归模型)。
最近,我开始玩h5py,认为这是我发现的最佳选择,它允许Python像SAS一样操作并通过磁盘(通过hdf5文件)对数据进行操作,同时仍然能够利用numpy / scipy / matplotlib等。想知道是否有人在类似的环境下使用过Python和h5py以及他们发现了什么。迄今为止,有人能在SAS主导的“大数据”设置中使用Python吗?
编辑:当然,购买更多的硬件/内存当然可以有所帮助,但是从IT角度来看,当Python(或R或MATLAB等)需要将数据保存在内存中时,我很难将Python卖给需要分析大量数据集的组织。SAS在这里仍然具有很强的卖点,因为尽管基于磁盘的分析速度可能较慢,但您可以放心地处理海量数据集。因此,我希望Stackoverflow-ers可以帮助我弄清楚如何减少将Python用作主流大数据分析语言的风险。