【问题标题】:Can I use hdf5 for large amounts of text data?我可以将 hdf5 用于大量文本数据吗?
【发布时间】:2015-01-15 17:57:36
【问题描述】:
假设我要以编程方式从互联网上以文本字符串的形式获取十万本开放存取书籍。我的意图是对它们进行一些分析(使用熊猫)。我已经在我的应用程序的某些部分使用了 mongodb,但我认为将它放入 pendrive 并将其转移到另一台机器并不容易。 Sqlite 是可移植的,但我讨厌写 sql。我看到的其他选项是将其作为单独的文本文件或称为 hdf5.h 的文件放入文件系统中。
hdf5 对这种纯文本数据有好处吗?如果没有,还有哪些其他选择?
【问题讨论】:
标签:
file
data-mining
hdf5
【解决方案1】:
看起来像,是的。
来自 HDF 集团网站,以及他们对 HDF5 的描述:“HDF5 是一种用于存储和管理数据的数据模型、库和文件格式。它支持无限多种数据类型,旨在实现灵活高效的 I/ O 和用于大量和复杂的数据。”
更多信息在这里:http://www.hdfgroup.org/HDF5/
祝你好运!
【解决方案2】:
是的,你可以,但如果我是你,我只会使用单独的文本文件并压缩包含的目录。原因如下:
大型数字数组(HDF5 的生计)可以有效地以二进制格式存储,但没有二进制文本,因此使用 HDF5 在空间方面没有优势。是的,您可以在 HDF5 文件中启用压缩,但您可以轻松压缩文本文件。
如今,文本文件和 zip 文件都非常普遍,因此在可移植性方面没有任何好处。
以下是 HDF5 无法完成的小事的一个示例:删除数据集并回收其空间。
最后,这是您的项目的另一个依赖项,而文本文件在任何编程语言中都是免费的。