使用pytables、多处理和共享内存高性能并行读取hdf5文件。
multitables的Python项目详细描述
multitables是一个python库,用于高速访问hdf5文件。 pytables库(tables)提供对hdf5的访问。 启动多个进程并行读取HDF5,允许并发解压缩。 数据通过使用共享内存空间流回到调用程序,消除了通常的多处理 通信开销
数据按数组的行(最外层维度的元素)组织,这些行的组形成块。 默认情况下,由于 图书馆的并发性它们在可用时返回可以使用 ordered选项,这可能会导致性能损失。
at的Performance gains 从ssd读取时,至少可以达到2倍。
许可证
这个软件是根据麻省理工学院的许可证发行的。 有关详细信息,请参见LICENSE.txt文件。
安装
pip install multitables
multitables依赖于tables(pytables包)和numpy。 该包与最新版本的python 2和3兼容
快速启动
importmultitablesstream=multitables.Streamer(filename='/path/to/h5/file')forrowinstream.get_generator(path='/internal/h5/path'):do_something(row)
示例
有关更深入的文档,请参见how-to,以及 unit tests完整示例。