处理非常大的数据集的建议 - HDF5,Python

数据挖掘 Python 大数据 分层数据格式
2022-03-03 00:53:05

我最近开始研究用于可视化非常大的数据集的应用程序。在线阅读时,很明显大多数人使用 HDF5 来存储大型多维数据集,因为它提供了允许多维的多功能性,没有文件大小限制并且可以在操作系统之间传输。

我的问题是如何最好地处理非常大的文件。我正在使用具有 3 维的数据集,所有这些数据集都有大量组件(示例大小:62,500 x 500,000 x 3,500,32 位 int),这有点问题。HDF5 理论上能够处理这个问题,但是,我发现将数据写入文件真的很慢,随后检索它也很慢。因为项目的数量非常大,所以必须压缩数据,否则它会在 HDD 上变得非常大,但是压缩需要分块,而分块很难正确......我以(1 x 500,000 x 3500)块接收数据所以一次写一行是有意义的,所以有了这些尺寸,我确保块有尺寸 (1 x n_values x 3500) 以加速写入和数据检索,并且尺寸相对较小 (<

当每个维度的大小都很大时,是否有人对如何有效地写入 HDF5 文件有任何经验?有什么技巧可以提供帮助吗?

我还应该提到,我主要使用 Python 工作,但是,我很乐意用另一种语言来做。我尝试通过h5py_cache库增加块缓存。

1个回答

一种选择是切换到构建在 HDF5 之上的pytables,旨在缓解许多此类问题。