首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用h5py在Python中进行大数据分析工作的经验?

使用h5py在Python中进行大数据分析工作的经验?
EN

Stack Overflow用户
提问于 2011-02-02 07:11:38
回答 2查看 8.7K关注 0票数 46

我做了大量的统计工作,并使用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作为主要大数据分析语言的风险。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-02 12:59:43

我们将Python与h5py、numpy/scipy和boost::python结合使用来进行数据分析。我们的典型数据集的大小高达几百GB。

HDF5优势:

  • 可以使用h5view应用程序、h5py/ipython和h5*命令行工具方便地检查数据
  • APIs适用于不同的平台和语言。
  • 使用组构造数据
  • 使用属性注释数据
  • 无需担心的内置数据压缩
  • 单一数据集上的io是快速的。

HDF5陷阱:

  • 如果一个h5文件包含太多的数据集/组(> 1000),性能就会崩溃,因为遍历它们非常慢。另一方面,io对于几个大数据集来说是快速的。
  • 高级数据查询(类似SQL)难以实现,而且速度慢(在这种情况下考虑SQLite )。
  • HDF5并非在所有情况下都是线程安全的:必须确保库是用正确的选项编译的。
  • 更改h5数据集(调整大小、删除等)放大文件大小(在最好的情况下)或者是不可能的(在最坏的情况下)(必须复制整个h5文件才能再次将其夷平)
票数 49
EN

Stack Overflow用户

发布于 2011-02-02 20:04:01

我不使用Python,而且倾向于处理相对较小的数据集,但是查看R中的高性能计算的CRAN,尤其是“大内存和内存不足的数据”部分可能是值得的。

原因有三:

  • 您可以挖掘任何这些包的源代码,以获得可能对您有帮助的想法。
  • 您可能会发现包名在搜索Python等效项时很有用;许多R用户也是Python用户
  • 在某些情况下,使用上述链接包中的一个链接到R进行特定分析,然后将结果返回到Python中可能会更方便。

我再次强调,这完全超出了我的范畴,你可能已经知道这一切了。但也许这对你或从事同样问题的人是有用的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4871670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档