我做了大量的统计工作,并使用Python作为我的主要语言。我使用的一些数据集可以占用20 of的内存,这使得在numpy、scipy和PyIMSL中使用内存中的函数几乎是不可能的。统计分析语言SAS在这里有一个很大的优势,因为它可以对来自硬盘的数据进行操作,而不是严格地在内存中进行处理。但是,我希望避免使用SAS编写大量代码(出于各种原因),因此我试图确定使用Python (除了购买更多的硬件和内存)有哪些选项。
我应该澄清的是,像map-还原这样的方法对我的工作没有多大帮助,因为我需要操作完整的数据集(例如,计算分位数或拟合逻辑回归模型)。
最近,我开始使用h5py,并认为这是我所找到的最佳选择,可以允许Python像hdf5那样操作和操作来自磁盘的数据(通过hdf5文件),同时仍然能够利用numpy/scipy/matplotlib等等。我想知道是否有人在类似的环境中使用过Python和h5py,以及他们发现了什么。到目前为止,是否有人能够在“大数据”设置中使用Python?
编辑:购买更多的硬件/内存当然会有帮助,但从IT的角度来看,当Python (或R,或MATLAB等)需要在内存中保存数据时,我很难将Python卖给一个需要分析庞大数据集的组织。SAS继续有一个强大的卖点在这里,因为虽然基于磁盘的分析可能比较慢,你可以自信地处理庞大的数据集。因此,我希望Stackoverflow能够帮助我解决如何减少使用Python作为主要大数据分析语言的风险。
发布于 2011-02-02 12:59:43
我们将Python与h5py、numpy/scipy和boost::python结合使用来进行数据分析。我们的典型数据集的大小高达几百GB。
HDF5优势:
HDF5陷阱:
发布于 2011-02-02 20:04:01
我不使用Python,而且倾向于处理相对较小的数据集,但是查看R中的高性能计算的CRAN,尤其是“大内存和内存不足的数据”部分可能是值得的。
原因有三:
我再次强调,这完全超出了我的范畴,你可能已经知道这一切了。但也许这对你或从事同样问题的人是有用的。
https://stackoverflow.com/questions/4871670
复制相似问题