我从事大量的统计工作,并使用Python作为主要语言。然而,我处理的一些数据集可能需要20GB的内存,这使得使用numpy、scipy和PyIMSL等内存函数来操作它们几乎是不可能的。统计分析语言SAS在这里有一个很大的优势,它可以处理硬盘中的数据,而不是严格的内存处理。但是,我想避免在SAS中编写大量代码(由于各种原因),因此我正在尝试确定除了购买更多的硬件和内存之外,我在Python方面有哪些选择。
我应该澄清的是,像MapReduce这样的方法在我的大部分工作中并没有太大帮助,因为我需要对完整的数据集进行操作(例如计算分位数或拟合逻辑回归模型)。
最近我开始尝试使用h5py,我认为这是我发现的让Python像SAS一样从磁盘上操作数据(通过hdf5文件),同时仍能利用numpy/scipy/matplotlib等库的最佳选择。我想听听其他人是否有类似背景的Python和h5py的经验以及他们的发现。有没有人成功地在 "大数据 "领域中使用Python,在这个领域之前由SAS主宰?
编辑:购买更多的硬件/内存当然有助于解决问题,但从IT的角度来看,当Python(或R、MATLAB等)需要在内存中保存数据时,让一个需要分析大型数据集的组织选择Python是很难的。SAS在这里仍然具有很强的卖点,因为虽然基于磁盘的分析可能会变慢,但你可以自信地处理海量的数据集。因此,我希望Stackoverflow的人们能帮助我找出如何降低使用Python作为主流大数据分析语言所带来的风险感。