前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大数据存储_hdf5 简介

大数据存储_hdf5 简介

作者头像
火星娃统计
发布2021-02-05 16:39:59
5.7K0
发布2021-02-05 16:39:59
举报

hdf5 简介

概述

HDF5 (Hierarchical Data Format) 是由美国伊利诺伊大学厄巴纳-香槟分校,是一种跨平台传输的文件格式,存储图像和数据

hdf5的优势

  • 通用数据模型,可以通过无限多种数据类型表示非常复杂、异构的数据对象和各种各样的元数据
  • 高速原始数据采集
  • 可移植和可扩展,文件大小没有限制
  • 自描述的,不需要外部信息应用程序来解释文件的结构和内容
  • 拥有用于管理、操作、查看和分析数据的开源工具和应用程序软件的生态系统
  • 在各种计算平台(从笔记本电脑到大规模并行系统)和编程语言(包括C、c++、Fortran 90和Java)上运行的软件库

hdf5结构

hdf5结构分为两个部分,一个是group,一个是dataset。不同的group存放不同的数据,dataset分为原始数据和元数据

groups

每一个hdf5文件有一个根目录,根目录的子级单位有多个group

如上图所示,根目录下有两个group,viz group中有许多图和表,其中,表和simout group是共享的。simout group中有一个三维的矩阵和2个2维的矩阵。

hdf5的文件格式,极其类似unix操作系统

datasets

HDF5数据集包含数据和描述文件也就是metadata

在上面的图片中,数据存储为大小为4 x 5 x 6的三维数据集,数据类型为整数。属性为时间和压力,同时数据被分块和压缩

Datatypes

Datatypes描述数据集中单个数据元素的数据类型,如下图的32位整数

Dataspaces

Dataspaces描述数据集数据元素的布局。下图为3*5的2维(rank)数组

Properties

Properties适用于描述hdf5文件的特征,通过修改这些性能,可以提高存储效率 比如默认情况下,数据是连续分布的,为了更好的效能,可以将数据分割成块并压缩

Attributes

与hdf5文件关联的文件,包含两个部分,名字和值,通俗点讲就是一个描述文件

语言支持

  1. C语言
  2. python的h5py模块(备用)
  3. R语言基于R6对象的hdf5r包(主要)

结束语

hdf5是一个非常专业的数据存储格式,同时支持的数据类型广泛,有更高级的使用,但是考虑到时间和需求,我应该不会在这方面深入过多,后续应该会更新r语言的hdf5文件处理,python备用。

love&peace

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 火星娃统计 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • hdf5 简介
  • 概述
  • hdf5的优势
  • hdf5结构
    • groups
      • datasets
        • Datatypes
        • Dataspaces
        • Properties
        • Attributes
    • 语言支持
    • 结束语
    相关产品与服务
    文件存储
    文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档