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