我试图通过chunkshape
在创建表时指定来提高我的 pytables/HDF5 代码的性能。我无法弄清楚chunkshape
参数的真实尺寸或格式。我可以从代码中看到,它最终会成为一个包含单个元素的元组。
这个单个元素应该是行数、字节数还是什么?
我的具体问题是我现有的代码可以创建一个包含 20 列的 HDF5 表。我想更改表的块,以便每列连续存储在磁盘上。因此,优化一次读取整个列。
我尝试将 chunkshape 设置为 20(列数),但这大大降低了读取整列的性能。是否应该将块形状设置为单行的宽度(以字节为单位)?
我只想知道如果出现以下情况,chunkshape 应该是什么:
- 我想尽可能快地阅读整个专栏。
- 我确切地知道表中有多少列。
- 出于向后兼容的原因,我不能简单地将表更改为将现有行作为列,反之亦然。