hdf5的替代品


15

我已经使用HDF5多年了,但是随着数据集大小的增加,我开始遇到这里列出的相同问题

http://cyrille.rossant.net/moving-away-hdf5/

您能指出我使用HDF5之类的格式吗?-对并行写入的良好支持-支持对大型矩阵的分块访问

我的典型用例是100k x 100k整数矩阵。从逻辑的角度来看,我希望将其作为一个完整的文件,但是我需要使用并行工作程序将其逐块写入。


3
您能解释一下您需要导出哪种数据集吗?这可能对希望回答您问题的人有所帮助。我考虑过HDF5和netcfd。但是这些可能更适合某些数据集。
查尔斯

2
压缩的VTK支持块。您可以保存多个并行文件,并使用PVD元文件将其合并在一起。您的数据集的大小是多少?
Krzysztof Bzowski

编辑后-分割VTK不是一个好的决定。
Krzysztof Bzowski

您最终使用了什么?
aidan.plenert.macdonald

@ aidan.penert.macdonald我保留了hdf5,并使用MPI进行并行写入。但是我不得不放弃Python
MG

Answers:


6

在某种程度上,HDF5本身就是一个文件系统。通过引入B树及其管理块的方式,它复制了文件系统的功能。当您运行代码时,您可能正在具有成熟且可扩展的文件系统的操作系统上运行它。因此,我建议使用原始文件访问或MPI-IO将数字原始数据写入单个文件,并将元数据(字节序,大小,属性等)写入单独的JSON或XML文件。如果您有多个数据集,则可以将它们组织到一个目录或目录层次结构中。当您要分发数据集时,只需将其打包到一个ZIP文件中即可。

唯一的缺点是您必须自己处理Endianness,但这并不困难

有关如何完成此操作的启发,请参见Dragly等。“ A.实验性目录结构(Exdir):HDF5的一种替代方法,无需引入新的文件格式”。Neuroinform。,2018,12

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.