SlideShare a Scribd company logo
1 of 32
HDF5 Tools
Peter Cao
The HDF Group

October 15-18, 2008

HDF and HDF-EOS Workshop XII

1
Outline

•

•

October 15-18, 2008

A short demo of HDFView
HDF5 command line tools

HDF and HDF-EOS Workshop XII

2
What is HDFView?

HDFView

HDF Application

Browser/Editor

Written in Java

For more information and download, visit

www.hdfgroup.org/hdf-java-html
October 15-18, 2008

HDF and HDF-EOS Workshop XII

3
HDFView Demo

•
•
•
•
•

Browse objects in an HDF5 file
Show data content in table, image
Make a subset
View attributes and metadata
Create a new HDF5 file and edit data content

October 15-18, 2008

HDF and HDF-EOS Workshop XII

4
HDFView 2.5
•
•
•
•
•
•

Release planned in December, 2008
Build with HDF4 2r4 and HDF5 1.8.2
Fix bugs and add new features
Plug memory leaks
Support iRODS (Windows and linux only)
Use jdk 1.6.0_06 or above (for performance)

Drop mac PowerPC
October 15-18, 2008

HDF and HDF-EOS Workshop XII

5
HDF5 Command Line Tools
Readers
h5dump, h5diff, h5ls, h5check, h5stat

Writers
h5repack, h5repart, h5import, h5jam,
h5unjam, h5copy, h5mkgrp

Converters
h4toh5, h5toh4, gif2h5, h52gif

October 15-18, 2008

HDF and HDF-EOS Workshop XII

6
Where to Start?

Tools located in bin/ directory
1. Use “-h” option for help
2. Consult online help

http://www.hdfgroup.org/hdf5tools.html

3. Email help desk
help@hdfgroup.org

October 15-18, 2008

HDF and HDF-EOS Workshop XII

7
h5dump
Dumps contents of HDF5 file to stdout
ASCII text
• XML
• Binary
•

October 15-18, 2008

HDF and HDF-EOS Workshop XII

8
h5dump: Object Headers
> h5dump -H SDS.h5
HDF5 "SDS.h5" {
GROUP "/" {
GROUP "Floats" {
DATASET "FloatArray" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 4, 3 ) / ( 4,
3)}
}
}
DATASET "IntArray" {
DATATYPE H5T_STD_I32LE
DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) }
}
}
}
October 15-18, 2008

HDF and HDF-EOS Workshop XII

9
h5dump: Dataset
> h5dump –d /Floats/FloatArray SDS.h5
HDF5 "SDS.h5" {
DATASET "/Floats/FloatArray" {
DATATYPE H5T_IEEE_F32LE
DATASPACE SIMPLE { ( 4, 3 ) / ( 4, 3 ) }
DATA {
(0,0): 0.01, 0.02, 0.03,
(1,0): 0.1, 0.2, 0.3,
(2,0): 1, 2, 3,
(3,0): 10, 20, 30
}
}
}

October 15-18, 2008

HDF and HDF-EOS Workshop XII

10
h5dump: Binary Output
-b F, --binary=[MEMORY|FILE|LE|BE]

> h5dump -d /IntArray -o out_le.bin -b LE SDS.h5
0000000
0000030
0000060
0000110
0000140

October 15-18, 2008

00000000
0000000a
00000014
0000001e
00000028

00000001
0000000b
00000015
0000001f
00000029

00000002
0000000c
00000016
00000020
0000002a

00000003
0000000d
00000017
00000021
0000002b

HDF and HDF-EOS Workshop XII

00000004
0000000e
00000018
00000022
0000002c

00000005
0000000f
00000019
00000023
0000002d

11
h5diff

Show
differences
between…

two objects
or
two files
October 15-18, 2008

HDF and HDF-EOS Workshop XII

12
h5diff
> h5diff SDS.h5 SDS2.h5
Dataset: </IntArray>
5 differences found

October 15-18, 2008

HDF and HDF-EOS Workshop XII

13
h5diff: Report Differences
> h5diff SDS.h5 SDS2.h5 -r /IntArray

Dataset:
position

</IntArray> and </IntArray>
IntArray
IntArray
difference

-----------------------------------------------------[ 0 0 ]
0
10
10
[ 1 0 ]
10
100
90
[ 2 0 ]
20
200
180
[ 3 0 ]
30
300
270
[ 4 0 ]
40
400
360
5 differences found

October 15-18, 2008

HDF and HDF-EOS Workshop XII

14
h5diff: Unsolved Issues

How to compare two files with different
− Structures
− Storage layouts
− Properties

October 15-18, 2008

HDF and HDF-EOS Workshop XII

15
h5repack

Copies a file to a new file with
• Compression filter
• Data layout
• Other user options

October 15-18, 2008

HDF and HDF-EOS Workshop XII

16
h5repack: Compression Filter
-f {GZIP|SZIP|SHUF|FLET|NBIT|SOFF|NONE}
For example
> h5repack -i SDS.h5 -o out.h5 -f GZIP=6

October 15-18, 2008

HDF and HDF-EOS Workshop XII

17
h5repack: Data Layout
-l {CHUNK| COMPA| CONTI}

For example
> h5repack -i SDS.h5 -o out.h5 -l CHUNK=1000x1000

October 15-18, 2008

HDF and HDF-EOS Workshop XII

18
h5repack: File Format Version
h5repack options

File size in bytes

Original file

3,167,264

--latest

2,267,346

--latest –compact=9

2,162,254

--latest –compact=9 –ssize=50:dtype

299,882

The test file was created with HDF5 1.6.5. The root group of the file
contains 100 groups. Each group at the root contains 9 sub groups.
Each sub group contains one compound dataset. The compound
dataset has 40 members of type 32 bit integer
October 15-18, 2008

HDF and HDF-EOS Workshop XII

19
h5import
Imports binary/ASCII data into an HDF5 file
h5import infile -c config_file [infile -c config_file2 ...] -outfile outfile

For example
> h5import float5x4x2.txt -c First_set.conf -o First_set.h5
PATH work/First-set
INPUT-CLASS TEXTFP
RANK 3
DIMENSION-SIZES 5 2 4
OUTPUT-CLASS FP
OUTPUT-SIZE 64
OUTPUT-ARCHITECTURE IEEE
OUTPUT-BYTE-ORDER LE
CHUNKED-DIMENSION-SIZES 2 2 2
MAXIMUM-DIMENSIONS 8 8 -1

October 15-18, 2008

GROUP "/" {
GROUP "work" {
DATASET "First-set" {
DATATYPE H5T_IEEE_F64LE
DATASPACE SIMPLE { ( 5, 2, 4 ) / ( 8, 8,
H5S_UNLIMITED ) }
DATA {
(0,0,0): 1.01, 1.02, 1.03, 1.04,
(0,1,0): 1.11, 1.12, 1.13, 1.14,
(1,0,0): 1.21, 1.22, 1.23, 1.24,
(1,1,0): 1.31, 1.32, 1.33, 1.34,
(2,0,0): 1.41, 1.42, 1.43, 1.44,
…
}
}
}
}}
HDF and HDF-EOS Workshop XII
20
h5import: Requested Features

• Make it interchangeable with
− h5dump
− Excel spreadsheet

October 15-18, 2008

HDF and HDF-EOS Workshop XII

21
New for 1.6.6+ and 1.8.0+
h5copy

h5mkgrp

h5stat

h5check

October 15-18, 2008

HDF and HDF-EOS Workshop XII

22
h5copy

• Copies an object within a file or across files
/

IntArray

/

Floats
FloatArray

FloatArray

October 15-18, 2008

HDF and HDF-EOS Workshop XII

23
h5copy –f shallow
DST1

floats

w
llo
ha
fs
-

SRC

64-bit

f32

floats

integers

DST2

i1

i2

f32

64-bit

f1

floats

f2

f32

64-bit

f1
October 15-18, 2008

HDF and HDF-EOS Workshop XII

f2
24
h5mkgrp
• Creates a group or group structure
> h5mkgrp test.h5 /info /data /data/test1 /data/test2
/

info

data

test1

October 15-18, 2008

test2

HDF and HDF-EOS Workshop XII

25
h5stat
Prints statistics about HDF5 file
−

Header size
− Raw data size
− Attributes, datatypes, etc.

Helps
−

Troubleshoot overhead in HDF5 files
− Choose specific object’s properties and storage strategies

October 15-18, 2008

HDF and HDF-EOS Workshop XII

26
h5stat: Example
>h5stat hdf5_test.h5
Filename: hdf5_test.h5
File information
# of unique groups: 4
# of unique datasets: 13
…
Object header size: (total/unused)
Groups: 288/32
Datasets: 6824/864
…
Dataset storage information:
Total raw data size: 1769009
…
October 15-18, 2008

HDF and HDF-EOS Workshop XII

27
h5check

• Verifies whether an HDF5 file is compliant with a
specific HDF5 File Format.
• By default, the file is checked against 1.8.x.
• Use -f16 option to check against 1.6.x.

October 15-18, 2008

HDF and HDF-EOS Workshop XII

28
h5check
> h5check --verbose=2 example.h5
VALIDATING example.h5 according to library version 1.8.0
FOUND super block signature
VALIDATING the super block at physical address 0...
Validating version 2 superblock...
VALIDATING the object header at logical address 48...
VALIDATING version 2 object header ...
FOUND Version 2 object header signature
VALIDATING version 2 btree at logical address 1864...
VALIDATING version 2 btree header at logical address 1864…
:

No non-compliance errors found
October 15-18, 2008

HDF and HDF-EOS Workshop XII

29
h5check
> h5check --verbose=2 –f16 example.h5
VALIDATING example.h5 according to library version 1.6.6
VALIDATING the super block at physical address 0...
Validating version 0/1 superblock...
***Error***
Errors found when checking superblock. Validation stopped.
Disk Format Level 0-File Metadata-->0A-File Signature and Super Block
Superblock v.0/1:Unable to read root symbol table entry
***End of Error messages***

Non-compliance errors found

October 15-18, 2008

HDF and HDF-EOS Workshop XII

30
Thank You!
This presentation is based upon work supported in part by a Cooperative
Agreement with NASA under NASA NNX06AC83A. Any opinions, findings,
and conclusions or recommendations expressed in this material are those of
the author(s) and do not necessarily reflect the views of the National
Aeronautics and Space Administration

October 15-18, 2008

HDF and HDF-EOS Workshop XII

31
Questions/comments?

October 15-18, 2008

HDF and HDF-EOS Workshop XII

32

More Related Content

What's hot

Powering Interactive BI Analytics with Presto and Delta Lake
Powering Interactive BI Analytics with Presto and Delta LakePowering Interactive BI Analytics with Presto and Delta Lake
Powering Interactive BI Analytics with Presto and Delta LakeDatabricks
 
Functional Programming in R
Functional Programming in RFunctional Programming in R
Functional Programming in RSoumendra Dhanee
 
SQL on everything, in memory
SQL on everything, in memorySQL on everything, in memory
SQL on everything, in memoryJulian Hyde
 
Developer Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesDeveloper Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesMax De Marzi
 
2 R Tutorial Programming
2 R Tutorial Programming2 R Tutorial Programming
2 R Tutorial ProgrammingSakthi Dasans
 
The Apache Spark File Format Ecosystem
The Apache Spark File Format EcosystemThe Apache Spark File Format Ecosystem
The Apache Spark File Format EcosystemDatabricks
 
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaAutovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaPostgreSQL-Consulting
 
PostgreSQL実行計画入門@関西PostgreSQL勉強会
PostgreSQL実行計画入門@関西PostgreSQL勉強会PostgreSQL実行計画入門@関西PostgreSQL勉強会
PostgreSQL実行計画入門@関西PostgreSQL勉強会Satoshi Yamada
 
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNXDeploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNXDatabricks
 
Machine Learning & Amazon SageMaker
Machine Learning & Amazon SageMakerMachine Learning & Amazon SageMaker
Machine Learning & Amazon SageMakerAmazon Web Services
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EngineDataWorks Summit
 
How netflix manages petabyte scale apache cassandra in the cloud
How netflix manages petabyte scale apache cassandra in the cloudHow netflix manages petabyte scale apache cassandra in the cloud
How netflix manages petabyte scale apache cassandra in the cloudVinay Kumar Chella
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLJim Mlodgenski
 
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
 Lessons from the Field, Episode II: Applying Best Practices to Your Apache S... Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...Databricks
 

What's hot (20)

Powering Interactive BI Analytics with Presto and Delta Lake
Powering Interactive BI Analytics with Presto and Delta LakePowering Interactive BI Analytics with Presto and Delta Lake
Powering Interactive BI Analytics with Presto and Delta Lake
 
Functional Programming in R
Functional Programming in RFunctional Programming in R
Functional Programming in R
 
SQL on everything, in memory
SQL on everything, in memorySQL on everything, in memory
SQL on everything, in memory
 
Developer Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker NotesDeveloper Intro Deck-PowerPoint - Download for Speaker Notes
Developer Intro Deck-PowerPoint - Download for Speaker Notes
 
2 R Tutorial Programming
2 R Tutorial Programming2 R Tutorial Programming
2 R Tutorial Programming
 
The Apache Spark File Format Ecosystem
The Apache Spark File Format EcosystemThe Apache Spark File Format Ecosystem
The Apache Spark File Format Ecosystem
 
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 ViennaAutovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
Autovacuum, explained for engineers, new improved version PGConf.eu 2015 Vienna
 
PostgreSQL実行計画入門@関西PostgreSQL勉強会
PostgreSQL実行計画入門@関西PostgreSQL勉強会PostgreSQL実行計画入門@関西PostgreSQL勉強会
PostgreSQL実行計画入門@関西PostgreSQL勉強会
 
Deploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNXDeploying End-to-End Deep Learning Pipelines with ONNX
Deploying End-to-End Deep Learning Pipelines with ONNX
 
Machine Learning & Amazon SageMaker
Machine Learning & Amazon SageMakerMachine Learning & Amazon SageMaker
Machine Learning & Amazon SageMaker
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Apache Arrow - An Overview
Apache Arrow - An OverviewApache Arrow - An Overview
Apache Arrow - An Overview
 
NoSQL databases
NoSQL databasesNoSQL databases
NoSQL databases
 
How netflix manages petabyte scale apache cassandra in the cloud
How netflix manages petabyte scale apache cassandra in the cloudHow netflix manages petabyte scale apache cassandra in the cloud
How netflix manages petabyte scale apache cassandra in the cloud
 
PostgreSQL
PostgreSQL PostgreSQL
PostgreSQL
 
Map reduce vs spark
Map reduce vs sparkMap reduce vs spark
Map reduce vs spark
 
Deep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDBDeep Dive on Amazon DynamoDB
Deep Dive on Amazon DynamoDB
 
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQLTop 10 Mistakes When Migrating From Oracle to PostgreSQL
Top 10 Mistakes When Migrating From Oracle to PostgreSQL
 
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
 Lessons from the Field, Episode II: Applying Best Practices to Your Apache S... Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
Lessons from the Field, Episode II: Applying Best Practices to Your Apache S...
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 

Viewers also liked

Python and HDF5: Overview
Python and HDF5: OverviewPython and HDF5: Overview
Python and HDF5: Overviewandrewcollette
 
Introduction To Programming with Python-1
Introduction To Programming with Python-1Introduction To Programming with Python-1
Introduction To Programming with Python-1Syed Farjad Zia Zaidi
 
Introduction To Programming with Python-5
Introduction To Programming with Python-5Introduction To Programming with Python-5
Introduction To Programming with Python-5Syed Farjad Zia Zaidi
 
An Introduction to Interactive Programming in Python 2013
An Introduction to Interactive Programming in Python 2013An Introduction to Interactive Programming in Python 2013
An Introduction to Interactive Programming in Python 2013Syed Farjad Zia Zaidi
 

Viewers also liked (20)

Using visualization tools to access HDF data via OPeNDAP
Using visualization tools to access HDF data via OPeNDAP Using visualization tools to access HDF data via OPeNDAP
Using visualization tools to access HDF data via OPeNDAP
 
Substituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scriptsSubstituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scripts
 
Python and HDF5: Overview
Python and HDF5: OverviewPython and HDF5: Overview
Python and HDF5: Overview
 
The Python Programming Language and HDF5: H5Py
The Python Programming Language and HDF5: H5PyThe Python Programming Language and HDF5: H5Py
The Python Programming Language and HDF5: H5Py
 
Using HDF5 and Python: The H5py module
Using HDF5 and Python: The H5py moduleUsing HDF5 and Python: The H5py module
Using HDF5 and Python: The H5py module
 
ICESat-2 Metadata and Status
ICESat-2 Metadata and StatusICESat-2 Metadata and Status
ICESat-2 Metadata and Status
 
Breakthrough Listen
Breakthrough ListenBreakthrough Listen
Breakthrough Listen
 
NEON HDF5
NEON HDF5NEON HDF5
NEON HDF5
 
HDF Update 2016
HDF Update 2016HDF Update 2016
HDF Update 2016
 
Pilot Project for HDF5 Metadata Structures for SWOT
Pilot Project for HDF5 Metadata Structures for SWOTPilot Project for HDF5 Metadata Structures for SWOT
Pilot Project for HDF5 Metadata Structures for SWOT
 
HDF Cloud Services
HDF Cloud ServicesHDF Cloud Services
HDF Cloud Services
 
Utilizing HDF4 File Content Maps for the Cloud Computing
Utilizing HDF4 File Content Maps for the Cloud ComputingUtilizing HDF4 File Content Maps for the Cloud Computing
Utilizing HDF4 File Content Maps for the Cloud Computing
 
Scientific Computing and Visualization using HDF
Scientific Computing and Visualization using HDFScientific Computing and Visualization using HDF
Scientific Computing and Visualization using HDF
 
Introduction To Programming with Python-1
Introduction To Programming with Python-1Introduction To Programming with Python-1
Introduction To Programming with Python-1
 
Logic Over Language
Logic Over LanguageLogic Over Language
Logic Over Language
 
SPD and KEA: HDF5 based file formats for Earth Observation
SPD and KEA: HDF5 based file formats for Earth ObservationSPD and KEA: HDF5 based file formats for Earth Observation
SPD and KEA: HDF5 based file formats for Earth Observation
 
Logic: Language and Information 1
Logic: Language and Information 1Logic: Language and Information 1
Logic: Language and Information 1
 
Introduction to Databases
Introduction to DatabasesIntroduction to Databases
Introduction to Databases
 
Introduction To Programming with Python-5
Introduction To Programming with Python-5Introduction To Programming with Python-5
Introduction To Programming with Python-5
 
An Introduction to Interactive Programming in Python 2013
An Introduction to Interactive Programming in Python 2013An Introduction to Interactive Programming in Python 2013
An Introduction to Interactive Programming in Python 2013
 

Similar to HDF5 Tools

2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z
2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z
2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System zShawn Wells
 

Similar to HDF5 Tools (20)

HDF5 Tools Updates
HDF5 Tools UpdatesHDF5 Tools Updates
HDF5 Tools Updates
 
Advanced HDF5 Features
Advanced HDF5 FeaturesAdvanced HDF5 Features
Advanced HDF5 Features
 
HDF Tools Tutorial
HDF Tools TutorialHDF Tools Tutorial
HDF Tools Tutorial
 
HDFView and HDF Java Products
HDFView and HDF Java ProductsHDFView and HDF Java Products
HDFView and HDF Java Products
 
Migrating from HDF5 1.6 to 1.8
Migrating from HDF5 1.6 to 1.8Migrating from HDF5 1.6 to 1.8
Migrating from HDF5 1.6 to 1.8
 
Introduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming ModelsIntroduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming Models
 
HDF5 Tools
HDF5 ToolsHDF5 Tools
HDF5 Tools
 
Parallel HDF5
Parallel HDF5Parallel HDF5
Parallel HDF5
 
HDF5 Tools Update
HDF5 Tools UpdateHDF5 Tools Update
HDF5 Tools Update
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
HDF Tools Tutorial
HDF Tools TutorialHDF Tools Tutorial
HDF Tools Tutorial
 
HDF5 Advanced Topics - Datatypes and Partial I/O
HDF5 Advanced Topics - Datatypes and Partial I/OHDF5 Advanced Topics - Datatypes and Partial I/O
HDF5 Advanced Topics - Datatypes and Partial I/O
 
What will be new in HDF5?
What will be new in HDF5?What will be new in HDF5?
What will be new in HDF5?
 
Easy Remote Access Via OPeNDAP
Easy Remote Access Via OPeNDAPEasy Remote Access Via OPeNDAP
Easy Remote Access Via OPeNDAP
 
HDF5 Advanced Topics
HDF5 Advanced TopicsHDF5 Advanced Topics
HDF5 Advanced Topics
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z
2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z
2008-07-15 zNTP Conference, Red Hat Enterprise Solutions for System z
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF5 Tools Updates
HDF5 Tools UpdatesHDF5 Tools Updates
HDF5 Tools Updates
 

More from The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

More from The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

HDF5 Tools

  • 1. HDF5 Tools Peter Cao The HDF Group October 15-18, 2008 HDF and HDF-EOS Workshop XII 1
  • 2. Outline • • October 15-18, 2008 A short demo of HDFView HDF5 command line tools HDF and HDF-EOS Workshop XII 2
  • 3. What is HDFView? HDFView HDF Application Browser/Editor Written in Java For more information and download, visit www.hdfgroup.org/hdf-java-html October 15-18, 2008 HDF and HDF-EOS Workshop XII 3
  • 4. HDFView Demo • • • • • Browse objects in an HDF5 file Show data content in table, image Make a subset View attributes and metadata Create a new HDF5 file and edit data content October 15-18, 2008 HDF and HDF-EOS Workshop XII 4
  • 5. HDFView 2.5 • • • • • • Release planned in December, 2008 Build with HDF4 2r4 and HDF5 1.8.2 Fix bugs and add new features Plug memory leaks Support iRODS (Windows and linux only) Use jdk 1.6.0_06 or above (for performance) Drop mac PowerPC October 15-18, 2008 HDF and HDF-EOS Workshop XII 5
  • 6. HDF5 Command Line Tools Readers h5dump, h5diff, h5ls, h5check, h5stat Writers h5repack, h5repart, h5import, h5jam, h5unjam, h5copy, h5mkgrp Converters h4toh5, h5toh4, gif2h5, h52gif October 15-18, 2008 HDF and HDF-EOS Workshop XII 6
  • 7. Where to Start? Tools located in bin/ directory 1. Use “-h” option for help 2. Consult online help http://www.hdfgroup.org/hdf5tools.html 3. Email help desk help@hdfgroup.org October 15-18, 2008 HDF and HDF-EOS Workshop XII 7
  • 8. h5dump Dumps contents of HDF5 file to stdout ASCII text • XML • Binary • October 15-18, 2008 HDF and HDF-EOS Workshop XII 8
  • 9. h5dump: Object Headers > h5dump -H SDS.h5 HDF5 "SDS.h5" { GROUP "/" { GROUP "Floats" { DATASET "FloatArray" { DATATYPE H5T_IEEE_F32LE DATASPACE SIMPLE { ( 4, 3 ) / ( 4, 3)} } } DATASET "IntArray" { DATATYPE H5T_STD_I32LE DATASPACE SIMPLE { ( 5, 6 ) / ( 5, 6 ) } } } } October 15-18, 2008 HDF and HDF-EOS Workshop XII 9
  • 10. h5dump: Dataset > h5dump –d /Floats/FloatArray SDS.h5 HDF5 "SDS.h5" { DATASET "/Floats/FloatArray" { DATATYPE H5T_IEEE_F32LE DATASPACE SIMPLE { ( 4, 3 ) / ( 4, 3 ) } DATA { (0,0): 0.01, 0.02, 0.03, (1,0): 0.1, 0.2, 0.3, (2,0): 1, 2, 3, (3,0): 10, 20, 30 } } } October 15-18, 2008 HDF and HDF-EOS Workshop XII 10
  • 11. h5dump: Binary Output -b F, --binary=[MEMORY|FILE|LE|BE] > h5dump -d /IntArray -o out_le.bin -b LE SDS.h5 0000000 0000030 0000060 0000110 0000140 October 15-18, 2008 00000000 0000000a 00000014 0000001e 00000028 00000001 0000000b 00000015 0000001f 00000029 00000002 0000000c 00000016 00000020 0000002a 00000003 0000000d 00000017 00000021 0000002b HDF and HDF-EOS Workshop XII 00000004 0000000e 00000018 00000022 0000002c 00000005 0000000f 00000019 00000023 0000002d 11
  • 12. h5diff Show differences between… two objects or two files October 15-18, 2008 HDF and HDF-EOS Workshop XII 12
  • 13. h5diff > h5diff SDS.h5 SDS2.h5 Dataset: </IntArray> 5 differences found October 15-18, 2008 HDF and HDF-EOS Workshop XII 13
  • 14. h5diff: Report Differences > h5diff SDS.h5 SDS2.h5 -r /IntArray Dataset: position </IntArray> and </IntArray> IntArray IntArray difference -----------------------------------------------------[ 0 0 ] 0 10 10 [ 1 0 ] 10 100 90 [ 2 0 ] 20 200 180 [ 3 0 ] 30 300 270 [ 4 0 ] 40 400 360 5 differences found October 15-18, 2008 HDF and HDF-EOS Workshop XII 14
  • 15. h5diff: Unsolved Issues How to compare two files with different − Structures − Storage layouts − Properties October 15-18, 2008 HDF and HDF-EOS Workshop XII 15
  • 16. h5repack Copies a file to a new file with • Compression filter • Data layout • Other user options October 15-18, 2008 HDF and HDF-EOS Workshop XII 16
  • 17. h5repack: Compression Filter -f {GZIP|SZIP|SHUF|FLET|NBIT|SOFF|NONE} For example > h5repack -i SDS.h5 -o out.h5 -f GZIP=6 October 15-18, 2008 HDF and HDF-EOS Workshop XII 17
  • 18. h5repack: Data Layout -l {CHUNK| COMPA| CONTI} For example > h5repack -i SDS.h5 -o out.h5 -l CHUNK=1000x1000 October 15-18, 2008 HDF and HDF-EOS Workshop XII 18
  • 19. h5repack: File Format Version h5repack options File size in bytes Original file 3,167,264 --latest 2,267,346 --latest –compact=9 2,162,254 --latest –compact=9 –ssize=50:dtype 299,882 The test file was created with HDF5 1.6.5. The root group of the file contains 100 groups. Each group at the root contains 9 sub groups. Each sub group contains one compound dataset. The compound dataset has 40 members of type 32 bit integer October 15-18, 2008 HDF and HDF-EOS Workshop XII 19
  • 20. h5import Imports binary/ASCII data into an HDF5 file h5import infile -c config_file [infile -c config_file2 ...] -outfile outfile For example > h5import float5x4x2.txt -c First_set.conf -o First_set.h5 PATH work/First-set INPUT-CLASS TEXTFP RANK 3 DIMENSION-SIZES 5 2 4 OUTPUT-CLASS FP OUTPUT-SIZE 64 OUTPUT-ARCHITECTURE IEEE OUTPUT-BYTE-ORDER LE CHUNKED-DIMENSION-SIZES 2 2 2 MAXIMUM-DIMENSIONS 8 8 -1 October 15-18, 2008 GROUP "/" { GROUP "work" { DATASET "First-set" { DATATYPE H5T_IEEE_F64LE DATASPACE SIMPLE { ( 5, 2, 4 ) / ( 8, 8, H5S_UNLIMITED ) } DATA { (0,0,0): 1.01, 1.02, 1.03, 1.04, (0,1,0): 1.11, 1.12, 1.13, 1.14, (1,0,0): 1.21, 1.22, 1.23, 1.24, (1,1,0): 1.31, 1.32, 1.33, 1.34, (2,0,0): 1.41, 1.42, 1.43, 1.44, … } } } }} HDF and HDF-EOS Workshop XII 20
  • 21. h5import: Requested Features • Make it interchangeable with − h5dump − Excel spreadsheet October 15-18, 2008 HDF and HDF-EOS Workshop XII 21
  • 22. New for 1.6.6+ and 1.8.0+ h5copy h5mkgrp h5stat h5check October 15-18, 2008 HDF and HDF-EOS Workshop XII 22
  • 23. h5copy • Copies an object within a file or across files / IntArray / Floats FloatArray FloatArray October 15-18, 2008 HDF and HDF-EOS Workshop XII 23
  • 25. h5mkgrp • Creates a group or group structure > h5mkgrp test.h5 /info /data /data/test1 /data/test2 / info data test1 October 15-18, 2008 test2 HDF and HDF-EOS Workshop XII 25
  • 26. h5stat Prints statistics about HDF5 file − Header size − Raw data size − Attributes, datatypes, etc. Helps − Troubleshoot overhead in HDF5 files − Choose specific object’s properties and storage strategies October 15-18, 2008 HDF and HDF-EOS Workshop XII 26
  • 27. h5stat: Example >h5stat hdf5_test.h5 Filename: hdf5_test.h5 File information # of unique groups: 4 # of unique datasets: 13 … Object header size: (total/unused) Groups: 288/32 Datasets: 6824/864 … Dataset storage information: Total raw data size: 1769009 … October 15-18, 2008 HDF and HDF-EOS Workshop XII 27
  • 28. h5check • Verifies whether an HDF5 file is compliant with a specific HDF5 File Format. • By default, the file is checked against 1.8.x. • Use -f16 option to check against 1.6.x. October 15-18, 2008 HDF and HDF-EOS Workshop XII 28
  • 29. h5check > h5check --verbose=2 example.h5 VALIDATING example.h5 according to library version 1.8.0 FOUND super block signature VALIDATING the super block at physical address 0... Validating version 2 superblock... VALIDATING the object header at logical address 48... VALIDATING version 2 object header ... FOUND Version 2 object header signature VALIDATING version 2 btree at logical address 1864... VALIDATING version 2 btree header at logical address 1864… : No non-compliance errors found October 15-18, 2008 HDF and HDF-EOS Workshop XII 29
  • 30. h5check > h5check --verbose=2 –f16 example.h5 VALIDATING example.h5 according to library version 1.6.6 VALIDATING the super block at physical address 0... Validating version 0/1 superblock... ***Error*** Errors found when checking superblock. Validation stopped. Disk Format Level 0-File Metadata-->0A-File Signature and Super Block Superblock v.0/1:Unable to read root symbol table entry ***End of Error messages*** Non-compliance errors found October 15-18, 2008 HDF and HDF-EOS Workshop XII 30
  • 31. Thank You! This presentation is based upon work supported in part by a Cooperative Agreement with NASA under NASA NNX06AC83A. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Aeronautics and Space Administration October 15-18, 2008 HDF and HDF-EOS Workshop XII 31
  • 32. Questions/comments? October 15-18, 2008 HDF and HDF-EOS Workshop XII 32