HDF5-datasett (.hdf5)

The Standard

Hierarchical Data Format 5 (HDF5) er en ledende arkitektur for håndtering av vitenskapelige data og store flerdimensjonale arrayer. Den brukes mye innen superdatamaskiner, klimamodellering, nevrovitenskap og maskinlæring.

Konverter HDF5 til CSV

Gratis HDF5 til CSV-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.

Inspeksjon og metadata

Operativsystemer og filanalysatorer identifiserer HDF5-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

Filsignatur på bytenivå (magiske byte)

Operativsystemer og filanalysatorer identifiserer HDF5-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

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

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

Standardisering: The HDF Group Open Standard Specification

Tekniske spesifikasjoner

BeholderarkitekturHierarkisk, filsystemlignende binærbeholder som organiserer data i grupper (mapper) og datasett (flerdimensjonale arrayer) med attributter
KomprimeringKomprimeringsfiltre for datablokker: Gzip (Deflate), SZIP, Zstandard, Blosc og LZF
BytterekkefølgeAngis i superblokken (little-endian eller big-endian)
FargeromIkke relevant (flerdimensjonale numeriske arrayer)
Kanaler og strukturVitenskapelige arrayer med mange dimensjoner, sammensatte datatyper og strenger med variabel lengde
Maks. dimensjonerI praksis ubegrenset (støtter 64-biters koordinater og datasett på petabyte-størrelse)
GjennomsiktighetIngen
Strømming og progressiv visningLagring i datablokker gjør det mulig å hente ut delområder uten å laste hele datasettet inn i minnet

Teknisk sammenligningsmatrise: HDF5 sammenlignet med konkurrenter

Teknisk attributtHDF5 (Gjeldende)NETCDFFITSZARR
Hierarkisk strukturFullt POSIX-lignende filsystem (grupper og datasett)NetCDF-4 bygger på HDF5Arrayer og tabeller med faste blokkerSkybasert katalogformat med oppdeling i blokker
Utsnitt fra datasettSvært rask lesing av binære delområder i datasettRask lesing av delområder i datasettDirekte indeksering av blokkerParallell henting av datablokker fra skyen
Bruk innen maskinlæringStandard for modellvekter (Keras .h5)Sjelden brukt i kunstig intelligensIngenØkende bruk for datasett til KI-trening
Primært økosystemNCSA, superdatamaskiner, Python h5pyNOAA, meteorologi, oseanografiNASA, astronomi, teleskoperSkybasert datavitenskap

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Feil i Python h5py: «Unable to open file (file signature not found)».

Underliggende årsak: Korrupt superblokk på 8 byte i begynnelsen av filen.

Utbedring: Undersøk forskyvningene i superblokken, eller gjenopprett datasett med HDF5-verktøyet i File2File.app.

Sikkerhetsanalyse og angrepsvektorer mot parsere

Det offisielle libhdf5-biblioteket leser komplekse B-trær og heap-tabeller. Korrupte forskyvninger har ført til sårbarheter med heap-overløp.

Kjente angrepsvektorer

  • Heap-bufferoverløp under traversering av B-treets nodeindeks (for eksempel CVE-2021-37501).
  • Skriving utenfor gyldige grenser i programtillegg for egendefinerte dekomprimeringsfiltre.
  • Tjenestenektangrep gjennom sykliske lenker mellom grupper.

Anbefalte sikkerhetstiltak: Behandle ikke-klarerte HDF5-filer med WebAssembly-motorer i sandkasse og begrenset minnebruk.

Historisk opprinnelse og milepæler

2020HDF5 v1.12 introduserer Virtual Object Layer (VOL)-koblinger for objektlagring i skyen (Amazon S3).
2006The HDF Group skilles ut fra NCSA ved University of Illinois som en uavhengig ideell stiftelse.
1998NCSA lanserer HDF5, en fullstendig nyutforming av det opprinnelige HDF4-formatet som fjerner filstørrelsesgrensen på 2 GB.

Viktige fordeler

  • Komplett filsystem i én fil: organiserer komplekse datasett på flere petabyte i navngitte grupper og datasett, omtrent som mapper.
  • Rask uthenting av deler av data: Les et lite 2D-utsnitt fra en enorm 5D-matrise på 100 gigabyte uten å lese hele filen.
  • Tett integrert med moderne vitenskapelige verktøy: Python (h5py), MATLAB, R og superdatamaskiner med MPI-parallellisering.

Tekniske begrensninger og ulemper

  • Den omfattende spesifikasjonen gjør det vanskelig å utvikle egne parsere utenom det offisielle C-biblioteket libhdf5.
  • Klassisk HDF5 låser skriving til én prosess, noe som historisk har gjort samtidige skrivearbeidsflyter kompliserte.
  • Korrupte superblokker kan gjøre hele det hierarkiske treet utilgjengelig.

Interessante tekniske fakta

  • HDF5-signaturen (\x89HDF\r\n\x1a\n) er avledet fra PNG-signaturen. HDF Group opplyser at den identifiserer HDF5-filer og kan bidra til å oppdage vanlige problemer med filoverføring.
  • NASAs Earth Observing System (EOS) lagrer petabyte med daglige satellittdata om klima i HDF5-format.
  • Rammeverk for dyp læring, som Keras og TensorFlow, gjorde HDF5 (.h5) populært til lagring av vekter i nevrale nettverk.

Ofte stilte tekniske spørsmål

Hva er en HDF5-fil?

En HDF5-fil er som et komplett filsystem i én enkelt fil, laget for effektiv lagring av store vitenskapelige arrayer, tabeller og maskinlæringsmodeller.

Hva er forskjellen mellom .h5 og .hdf5?

Det er ingen forskjell: .h5 og .hdf5 er to ulike filendelser for nøyaktig samme format, Hierarchical Data Format 5.

Hvordan kan jeg se hva som er inne i en HDF5-fil?

Du kan undersøke grupper, datasett og metadata i HDF5-filer med HDFView, Python h5py eller File2File.app på nettet.