C.T*_*.T. 8 compression hdf5 chunking
我想问一个关于压缩性能的问题,这与hdf5文件的块大小有关.
我手边有2个hdf5文件,它们具有以下属性.它们都只包含一个数据集,称为"数据".
文件A的"数据":
文件B的"数据":
文件A的大小:HDF5 ---- 19 MB CSV ----- 165 MB
文件B的大小:HDF5 ---- 60 MB CSV ----- 165 MB
与csv文件相比,它们都显示了对存储数据的强大压缩.但是,文件A的压缩率约为原始csv的10%,而文件B的压缩率仅为原始csv的约30%.
我尝试了不同的块大小使文件B尽可能小,但似乎30%是最佳压缩率.我想问一下,为什么文件A可以实现更大的压缩,而文件B则不能.
如果文件B也可以实现,那么块大小应该是多少?
是否有任何规则来确定HDF5的最佳块大小以用于压缩目的?
谢谢!
Yos*_*ian 10
除了@Ümit所描述的方式之外,Chunking并不会真正影响压缩比本身.分块的作用是影响I/O性能.当压缩应用于HDF5数据集时,它将单独应用于整个块.这意味着当从数据集中的单个块读取数据时,必须对整个块进行解压缩 - 可能涉及更多的I/O,具体取决于缓存的大小,块的形状等.
您应该做的是确保块形状与您读/写数据的方式相匹配.如果您通常一次读取一列,请创建您的块列.这是一个关于分块的好教程.
| 归档时间: |
|
| 查看次数: |
4547 次 |
| 最近记录: |