Re: Loading portion of large HDF5 array?
- To: mathgroup at smc.vnet.net
- Subject: [mg114087] Re: Loading portion of large HDF5 array?
- From: Paul <pnorthug at gmail.com>
- Date: Tue, 23 Nov 2010 05:59:13 -0500 (EST)
- References: <icdoch$6i8$1@smc.vnet.net>
On Nov 22, 4:40 am, Bill Rowe <readn... at sbcglobal.net> wrote:
> On 11/20/10 at 6:27 PM, pnort... at gmail.com (Paul) wrote:
>
> >I have a large matrix (>10gb) in an HDF5 file.
> >Is there a way to read only a portion of this matrix using Import[]
> >and the HDF5 import format?
>
> Yes. You can read various portions of the file. See
>
> ref/format/HDF5
>
> in the DocumentCenter for details
A specific example is below (snipped output from h5ls -vlr) with
matrix '/data' with dimensions ~ {10^9, 51}. How would I read in the
first 1000 rows, the next 1000? Thanks for the documentation pointer
but I didn't find any way to do this. I understand you can load in
datasets separately but maybe not a portion of a single dataset.
Import["file.h5', {"Datasets", "/data"}] attempts to load the full
matrix.
/data Dataset {110945492/Inf, 51/51}
Location: 1:800
Links: 1
Chunks: {1000, 51} 204000 bytes
Storage: 1158043888 logical bytes, 3840201966 allocated bytes,
107.67% utilization
Filter-0: deflate-1 OPT {4}
Type: IEEE 32-bit little-endian float