gpt4 book ai didi

搜索 HDF5 数据集

转载 作者:行者123 更新时间:2023-12-03 22:24:28 25 4
gpt4 key购买 nike

我正在探索 HDF5 .我已经阅读了“Evaluating HDF5”线程中有趣的评论,我知道 HDF5 是存储数据的首选解决方案,但您如何查询它?例如,假设我有一个包含一些标识符的大文件:有没有办法快速知道文件中是否存在给定的标识符?

最佳答案

我认为答案是“不直接”。

以下是我认为您可以实现该功能的一些方法。

使用组:

可以以 Radix Tree 的形式使用组的层次结构。来存储数据。不过,这可能不会很好地扩展。

使用索引数据集:

HDF 有一个引用类型,可用于从单独的索引表链接到主表。写入主数据后,可以使用其他带有引用的键排序的其他数据集。例如:

MainDataset (sorted on identifier)
0: { A, "C", 2 }
1: { B, "B", 1 }
2: { C, "A", 3 }

StringIndex
0: { "A", Reference ("MainDataset", 2) }
1: { "B", Reference ("MainDataset", 1) }
2: { "C", Reference ("MainDataset", 0) }

IntIndex
0: { 1, Reference ("MainDataset", 1) }
1: { 2, Reference ("MainDataset", 0) }
2: { 3, Reference ("MainDataset", 2) }

为了使用上述内容,在索引表中查找字段时必须编写二进制搜索。

内存索引:

根据数据集的大小,使用诸如“boost::serialize”之类的东西读取/写入其自己的数据集的内存索引可能同样容易。

HDF5-FastQuery:

paper (还有这个 page )描述了使用位图索引对 HDF 数据集执行复杂查询。我没有试过这个。

关于搜索 HDF5 数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1686869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com