Thread Subject: HDF5 Hight Level API

Subject: HDF5 Hight Level API

From: meng long

Date: 12 May, 2009 12:57:01

Message: 1 of 7

I want to know when "HDF5 Hight Level API" is available in Matlab.

Subject: HDF5 Hight Level API

From: Ashish Uthama

Date: 13 May, 2009 20:44:38

Message: 2 of 7

On Tue, 12 May 2009 08:57:01 -0400, meng long <menglong6518@yeah.net>
wrote:

> I want to know when "HDF5 Hight Level API" is available in Matlab.


Meng,

Could you tell more?

I guess I would call HDF5READ and HDF5WRITE high level, not sure what you
are looking for.

Subject: HDF5 Hight Level API

From: meng long

Date: 14 May, 2009 09:19:01

Message: 3 of 7

Dear Sir:

Thanks for your answer.

I want to use H5TBmake_table, and so on.

HDF5 is promoted quiker than HDF5 supported in Matlab.

I hope that I can use HDF5_new_features in Matlab by constructing

some code "@H5TB" similar with "@H5F".

meng long

Look forward.

Subject: HDF5 Hight Level API

From: meng long

Date: 20 Jun, 2009 16:22:01

Message: 4 of 7

"Ashish Uthama" <first.last@mathworks.com> wrote in message <op.utvykoyza5ziv5@uthamaa.dhcp.mathworks.com>...
> On Tue, 12 May 2009 08:57:01 -0400, meng long <menglong6518@yeah.net>
> wrote:
>
> > I want to know when "HDF5 Hight Level API" is available in Matlab.
>
>
> Meng,
>
> Could you tell more?
>
> I guess I would call HDF5READ and HDF5WRITE high level, not sure what you
> are looking for.

 sDset.Location = '/Qut/Day/Sh/Idx';
  sDset.Name = '123456';
  hdf5write('fTest.H5',sDset,sObj,'writemode','overwrite');

The 'hdf5write', as above, overwrite 'fTest.H5', not the dataset '123456' as expected.
How to overwrite a dataset?

I hope that Matlab surports 'HDF5' deeply and quickly, surports 'H5TB' etc., since 'Matlab Hight Level Functions for HDF5' are not enought in Industry-Application, and 'Malab Low Level Functions for HDF5' are too slow to deal with compound type in Industry-Application of a large of tables.

Subject: HDF5 Hight Level API

From: Ashish Uthama

Date: 22 Jun, 2009 13:31:27

Message: 5 of 7

On Sat, 20 Jun 2009 12:22:01 -0400, meng long <menglong6518@yeah.net>
wrote:

> "Ashish Uthama" <first.last@mathworks.com> wrote in message
> <op.utvykoyza5ziv5@uthamaa.dhcp.mathworks.com>...
>> On Tue, 12 May 2009 08:57:01 -0400, meng long <menglong6518@yeah.net>
>> wrote:
>>
>> > I want to know when "HDF5 Hight Level API" is available in Matlab.
>>
>>
>> Meng,
>>
>> Could you tell more?
>>
>> I guess I would call HDF5READ and HDF5WRITE high level, not sure what
>> you
>> are looking for.
>
> sDset.Location = '/Qut/Day/Sh/Idx';
> sDset.Name = '123456';
> hdf5write('fTest.H5',sDset,sObj,'writemode','overwrite');
>
> The 'hdf5write', as above, overwrite 'fTest.H5', not the dataset
> '123456' as expected.
> How to overwrite a dataset?
>
> I hope that Matlab surports 'HDF5' deeply and quickly, surports 'H5TB'
> etc., since 'Matlab Hight Level Functions for HDF5' are not enought in
> Industry-Application, and 'Malab Low Level Functions for HDF5' are too
> slow to deal with compound type in Industry-Application of a large of
> tables.

Meng,

Yes, as the document mentions, 'overwrite' will overwrite the entire
contents of the file.

To overwrite a specific dataset, just write to it again:

>> hdf5write('myfile.h5', '/dataset1', uint8(5))
>> hdf5read('myfile.h5','/dataset1')

ans =

     5

>> hdf5write('myfile.h5', '/dataset1', uint8(10))
>> hdf5read('myfile.h5','/dataset1')

ans =

    10


Could you please elaborate on your use of compound type and tables?
 

Subject: HDF5 Hight Level API

From: meng long

Date: 22 Jun, 2009 18:17:01

Message: 6 of 7

"meng long" <menglong6518@yeah.net> wrote in message <gubrmt$g57$1@fred.mathworks.com>...
> I want to know when "HDF5 Hight Level API" is available in Matlab.

Dear Sir:

Thanks, I am glad to meet you for discussing HDF5 in deep case.

My table, for example, includes many columns "dOpnP,dClsP,dHgtP,dLowP,dVol,dMny" etc. which is used in financial-time-series application. For this practical application, many
different-type tables are dealt with.

H5TB as HDF5 hight level API, is somewhat a good case for my tables, except that I
cannot add attributes to the H5TB tables, inputs as 'Start, NRecords' in HDF5 hight level functions are difficult to used in financial-time-series application.

I have try to code a 'H5TB' in matlab completely by using Matlab_Low_Level_Fuctions for HDF5, but 'my successful codes' is so slowly in reading data from the tables. For example, reading some data from 300 tables (100k each table) consumes 7-8 seconds, which is 5-6 times than loading 300 mat files storaged same data. The main seconds is consumed in communicating with hdf5lib2, in calling mex functions, etc.. In a word, The main seconds is consumed in communicating with HDF5.

As a conclusion, it is not practical to construct a complex table_system by using Matlab_Low_Level_Fuctions for HDF5.

I have also try to code a complex table_system by using Matlab_Hight_Level_Fuctions for HDF5, but I give up, since hdf5write and hdf5read can be used in a simple application only, and is not flexible to a complex application.

I have try to code a complex table_system By SQL in matlab. Although, matlab is able to communicate with SQL (i.e, MS SQL)。 However, the communication has a low
effective. I give up the slection. Now, I work up on the mat files.

I hope that I work up on a Matlab_H5TB having same effective as mat files in recent future.

your friend
menglong

Subject: HDF5 Hight Level API

From: Vitezslav

Date: 9 Oct, 2009 09:50:03

Message: 7 of 7

> Meng,
>
> Yes, as the document mentions, 'overwrite' will overwrite the entire
> contents of the file.
>
> To overwrite a specific dataset, just write to it again:
>
> >> hdf5write('myfile.h5', '/dataset1', uint8(5))
> >> hdf5read('myfile.h5','/dataset1')
>
> ans =
>
> 5
>
> >> hdf5write('myfile.h5', '/dataset1', uint8(10))
> >> hdf5read('myfile.h5','/dataset1')
>
> ans =
>
> 10

hello,
maybe I miss the point, but IMHO the above example
overwrites the entire contents of the file too.
An example with two datasets:

>> hdf5write('myfile.h5', '/dataset1', uint8(5))
>> hdf5write('myfile.h5', '/dataset2', uint8(5),'WriteMode', 'append')

you have NO possibility to change the values of dataset1 without destroying dataset2:

1. try WriteMode append:
>> hdf5write('myfile.h5', '/dataset1', uint8(10),'WriteMode', 'append')
??? Error using ==> hdf5writec
writeH5Dset: Dataset names must be unique when appending data.

2. without try WriteMode append (default mode is 'overwrite')
>> hdf5write('myfile.h5', '/dataset1', uint8(10))
>> hdf5read('myfile.h5','/dataset1')
ans =
   10
>> hdf5read('myfile.h5','/dataset2')
??? Error using ==> hdf5readc
/dataset2 is not a dataset.

that means that the entire contents of the file was rewritten,
not only the specific dataset1.

with best wishes
vita

Tags for this Thread

Everyone's Tags:

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Tag Activity for This Thread
Tag Applied By Date/Time
hdf5 Vitezslav 9 Oct, 2009 05:54:06
hdf5write meng long 20 Jun, 2009 12:24:07
h5tb meng long 14 May, 2009 05:19:07
hdf5 meng long 14 May, 2009 05:19:07
rssFeed for this Thread
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com