HDF(1): 简单介绍

HDF5

HDF5是文件型数据库,适合存储大批量同类型数据,读写速度快,占用空间小。
HDF5 API只负责操作和组织数据,数据之间的逻辑关系由使用者负责处理.
API支持C, Fortran, Java, MATLAB, Python等语言。

基本概念:

File

HDF5文件,扩展名.h. API前缀H5F

Group

跟目录类似,用于组织Dataset和Attribute, API前缀H5G

Dataset

存储数据,可定义N维表, 表大小可以是固定的,也可以是可扩展的(需要设置块存储方式),API前缀H5D

Attribute

简单的键值对,一般用于Dataset的meta数据说明, API前缀H5A

DataType

数据格式,Dataset和Attribute储存数据的格式,可以简单的数据类型,int, byte, double, float,
也可以是很复杂的Compound结构。API前缀H5T

Properties

控制存储,读写,访问等等。我主要用了追加数据设置时,设置CHUNK存储方式。API前缀H5P

Space

数据访问空间,用来设置数据读写范围,作用很大。主要用来实现Partial I/O. 数据输入和输出的space设置可以不一致,
但是总数据量必须保持一致。比如读取二维表数据,文件space设置[0,0]-[[2,2], 内存space可以设置一维[0]-[8]。
数据的保存顺序主要有C和Fortran两个典型例子,C顺序是RowMajor, Fortran是ColumnMajor.

以C顺序存储1-15个数字3x5数组

image.png

以Fortran顺序存储1-15个数字3x5数组
image.png

可视化工具

HDF View
image.png

你可能感兴趣的:(HDF(1): 简单介绍)