For large HDF datasets it may be better to export the SD that you want using another tool.
Then import the raw binary data into Mathematica.
I can suggest the following tool for exporting SD blocks from HDF4 and HDF5 files:
'gdal_translate' is one of the GDAL utilities and works great for this.
http://www.gdal.org/frmt_hdf5.html
I am currently working on some code to step through the various dimensions of
binary remote sensing files. I am trying to avoid loading the complete file in favor
of only loading a single channel, frame, DN value, or spectral profile.
The lower level file I/O routines are your friend there.
Functions of interest are:
OpenRead[]
Skip[]
Read[]
Close[]
I did battle with Import[] for a while until it became obvious that I was loading way too much data.
I hope that helps.