HDF5-dataset (.hdf5)

The Standaard

Hierarchical Data Format 5 (HDF5) is de belangrijkste architectuur voor wetenschappelijk databeheer voor massale multidimensionale arrays en wordt veel gebruikt in supercomputing, klimaatmodellering, neurowetenschappen en machine learning.

HDF5 naar CSV converteren

Gratis HDF5-naar-CSV-converter in uw browser. Converteer bestanden direct op uw apparaat.

Inspecteren en metadata

Besturingssystemen en bestandsanalysators herkennen HDF5-bestanden aan de hand van de eerste binaire bytesequentie:

Selecteer of sleep bestanden hierheen

Privé - bestanden verlaten uw apparaat niet

of plak Ctrl+V
Privacygarantie zonder netwerktransmissie: 0 bytes geüpload naar externe servers. Alle verwerking vond lokaal plaats in uw browser-sandbox.

Bestandshandtekening op byteniveau (magic bytes)

Besturingssystemen en bestandsanalysators herkennen HDF5-bestanden aan de hand van de eerste binaire bytesequentie:

HEX-HANDTEKENING (OFFSET 0):

89 48 44 46 0D 0A 1A 0A

ASCII-WEERGAVE: \x89HDF\r\n\x1a\n

Standaardisatie: The HDF Group Open Standard Specification

Technische specificaties

ContainerarchitectuurHiërarchische, bestandssysteemachtige binaire container die data organiseert in groepen (mappen) en datasets (multidimensionale arrays) met attributen
CompressieOp chunks gebaseerde compressiefilters: Gzip (Deflate), SZIP, Zstandard, Blosc en LZF
Bytevolgorde (endianness)Vastgelegd in het superblok (Little-Endian of Big-Endian)
KleurruimtenN.v.t. (Multidimensionale numerieke arrays)
Kanalen en structuurHoogdimensionale wetenschappelijke arrays, samengestelde datatypen en tekenreeksen van variabele lengte
Maximale afmetingenPraktisch onbeperkt (ondersteunt 64-bits coördinaten en datasets ter grootte van petabytes)
TransparantieGeen
Streaming en progressiefChunk-opslag maakt gedeeltelijke hyperslab-slicing mogelijk zonder de volledige dataset in het geheugen te laden

Technische vergelijkingsmatrix: HDF5 versus concurrenten

Technisch kenmerkHDF5 (Huidig)NETCDFFITSZARR
HiërarchiestructuurVolledig POSIX-achtig bestandssysteem (groepen en datasets)NetCDF-4 gebruikt HDF5 als onderliggende laagVaste blokarrays en tabellenCloud-native mapformaat met chunks
Dataset-slicingUltrasnelle binaire hyperslab-leesbewerkingenSnelle hyperslab-leesbewerkingenDirecte blokindexeringParallelle chunk-opvragingen in de cloud
Gebruik voor machine learningStandaard voor modelgewichten (Keras .h5)Zelden gebruikt in AIGeenToenemend gebruik voor AI-trainingsdatasets
Primair ecosysteemNCSA, supercomputing, Python h5pyNOAA, meteorologie, oceanografieNASA, astronomie, telescopenCloud-native datawetenschap

Veelvoorkomende beschadigingen en gids voor hex-herstel

Python h5py-fout: 'Unable to open file (file signature not found)'.

Oorzaak: Beschadigd superblok van 8 bytes aan het begin van het bestand.

Herstel: Controleer de offsets van het superblok of herstel datasets met de HDF5-tool van File2File.app.

Beveiligingsanalyse en aanvalsvectoren voor parsers

De officiële libhdf5-bibliotheek verwerkt complexe B-bomen en heaptabellen, waarbij beschadigde offsets heap-overloopkwetsbaarheden hebben veroorzaakt.

Bekende aanvalsvectoren

  • Heap-bufferoverloop tijdens doorkruising van B-boomknooppuntindexen (bijv. CVE-2021-37501).
  • Schrijven buiten de grenzen in plug-ins voor aangepaste decompressiefilterpipelines.
  • Denial of service door cycli in circulaire groepskoppelingen.

Aanbevolen beveiligingspraktijken: Verwerk niet-vertrouwde HDF5-bestanden met WebAssembly-engines die in een sandbox draaien en beperkte geheugenlimieten hebben.

Historische oorsprong en mijlpalen

2020HDF5 v1.12 introduceert Virtual Object Layer (VOL)-connectoren voor cloud-objectopslag (Amazon S3).
2006The HDF Group splitst zich af van de NCSA van de University of Illinois als een onafhankelijke stichting zonder winstoogmerk.
1998NCSA brengt HDF5 uit en ontwerpt het oorspronkelijke HDF4 volledig opnieuw om bestandslimieten van 2 GB te elimineren.

Belangrijkste voordelen

  • Compleet bestandssysteem in één bestand: organiseert complexe datasets van meerdere petabytes in benoemde groepen en datasets zoals mappen.
  • Snelle hyperslab-slicing: lees een kleine 2D-plak uit een enorme 5D-matrix van 100 gigabyte zonder het volledige bestand te lezen.
  • Nauwe integratie met moderne wetenschappelijke Python (h5py), MATLAB, R en krachtige MPI-parallelle supercomputers.

Technische beperkingen

  • Hoge specificatiecomplexiteit maakt onafhankelijke parserimplementaties moeilijk buiten de officiële libhdf5 C-bibliotheek.
  • Beperkingen van vergrendeling bij klassieke HDF5, waarbij één schrijver tegelijk kan schrijven, bemoeilijkten historisch gezien gelijktijdige schrijfprocessen.
  • Beschadigde superblokken kunnen de hele hiërarchische boom ontoegankelijk maken.

Interessante technische weetjes

  • De HDF5-bestandshandtekening (\x89HDF\r\n\x1a\n) is afgeleid van de PNG-bestandshandtekening. Volgens The HDF Group identificeert deze HDF5-bestanden en helpt deze veelvoorkomende problemen met bestandsoverdracht op te sporen.
  • Het Earth Observing System (EOS) van NASA slaat petabytes aan dagelijkse satellietklimaatdata op in HDF5-formaat.
  • Deep learning-frameworks zoals Keras en TensorFlow populariseerden HDF5 (.h5) voor het opslaan van neurale netwerkgewichten.

Veelgestelde technische vragen

Wat is een HDF5-bestand?

Een HDF5-bestand is vergelijkbaar met een compleet bestandssysteem in één bestand. Het is ontworpen om zeer grote wetenschappelijke arrays, tabellen en machinelearningmodellen efficiënt op te slaan.

Wat is het verschil tussen .h5 en .hdf5?

Er is geen verschil; .h5 en .hdf5 zijn twee verschillende bestandsextensies voor exact hetzelfde formaat, Hierarchical Data Format 5.

Hoe kan ik bekijken wat er in een HDF5-bestand zit?

U kunt de groepen, datasets en metadata in elk HDF5-bestand inspecteren met HDFView, Python h5py of online met File2File.app.