HDF5-data (.hdf5)

Den Standard

Hierarchical Data Format 5 (HDF5) är den främsta arkitekturen för vetenskaplig datahantering för massiva flerdimensionella matriser, och används i stor utsträckning inom superdatorer, klimatmodellering, neurovetenskap och maskininlärning.

Konvertera HDF5 till CSV

Gratis konverterare från HDF5 till CSV i webbläsaren. Konvertera filer direkt på din enhet.

Granska och metadata

Operativsystem och filanalysverktyg identifierar HDF5-filer genom att granska den inledande sekvensen av binära byte:

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

Signatur i filhuvudet på bytenivå (magiska byte)

Operativsystem och filanalysverktyg identifierar HDF5-filer genom att granska den inledande sekvensen av binära byte:

HEX-SIGNATUR (OFFSET 0):

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

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

Standardisering: Den öppna standarden från The HDF Group

Tekniska specifikationer

ContainerarkitekturHierarkisk binär behållare likt ett filsystem som organiserar data i grupper (mappar) och dataset (flerdimensionella matriser) med attribut
KomprimeringBlockbaserade komprimeringsfilter: Gzip (Deflate), SZIP, Zstandard, Blosc och LZF
ByteordningAnges i superblocket (little-endian eller big-endian)
FärgrymderEj tillämpligt (flerdimensionella numeriska matriser)
Kanaler och strukturVetenskapliga matriser med många dimensioner, sammansatta datatyper och strängar med variabel längd
Maximala dimensionerI praktiken obegränsad (stöder 64-bitars koordinater och dataset på petabyteskala)
TransparensIngen
Strömning och progressiv visningBlockindelad lagring gör det möjligt att läsa utsnitt av hyperplan utan att läsa in hela datasetet i minnet.

Teknisk jämförelsematris: HDF5 jämfört med konkurrenter

Tekniskt attributHDF5 (Aktuell)NETCDFFITSZARR
HierarkistrukturFullständigt POSIX-liknande filsystem (grupper och datamängder)NetCDF-4 använder HDF5 interntFasta blockmatriser & tabellerMolnanativt katalogformat med chunkindelad lagring
Uttag av delmängder ur datasetUltrasnabb binär läsning av hyperplansutdragSnabb läsning av hyperplansutdragDirekt block-indexeringParallell hämtning av block i molnet
Användning inom maskininlärningStandard för modellvikter (Keras .h5)Används sällan inom AIIngenVäxande användning för AI-träningsdata
Primärt ekosystemNCSA, superdatorer, Python h5pyNOAA, meteorologi, oceanografiNASA, astronomi, teleskopMolnbaserad datavetenskap

Vanliga skadeorsaker och hex-återställningsguide

Felmeddelande i Python h5py: 'Unable to open file (file signature not found)'.

Grundorsak: Skadat superblock på 8 byte i början av filen.

Återställning: Inspektera förskjutningar (offsets) i superblocket eller återställ datamängder med File2File.app HDF5 Tool.

Säkerhetsanalys och attackvektorer för tolkar

Det officiella libhdf5-biblioteket tolkar komplexa B-träd och heap-tabeller där skadade förskjutningar (offsets) har orsakat sårbarheter för heap-spill.

Kända attackvektorer

  • Heap-buffertspill under traversering av B-trädets nodindex (t.ex. CVE-2021-37501).
  • Skrivning utanför gränserna i anpassade insticksprogram (plugins) för dekomprimeringsfilter.
  • Tjänsteavbrott (DoS) genom cirkulära grupperingscykler.

Rekommenderade skyddsåtgärder: Bearbeta otillförlitliga HDF5-filer med WebAssembly-motorer som körs i en sandlåda med begränsade minnesgränser.

Historiskt ursprung och milstolpar

2020HDF5 v1.12 introducerar VOL-anslutningar (Virtual Object Layer) för molnobjektlagring (Amazon S3).
2006HDF Group knoppas av från University of Illinois NCSA som en oberoende ideell stiftelse.
1998NCSA lanserar HDF5 och omkonstruerar helt det ursprungliga HDF4 för att eliminera filstorleksbegränsningen på 2 GB.

Viktiga fördelar

  • Ett komplett filsystem-i-en-fil: organiserar komplexa datamängder på flera petabyte i namngivna grupper och datamängder likt kataloger.
  • Snabb läsning av hyperplansutdrag: läs ut ett litet 2D-utdrag ur en massiv 5D-matris på 100 gigabyte utan att läsa in hela filen.
  • Djup integration med modern vetenskaplig Python (h5py), MATLAB, R och högpresterande MPI-parallella superdatorer.

Tekniska begränsningar

  • Hög specifikationskomplexitet gör oberoende tolkimplementationer svåra utanför det officiella C-biblioteket libhdf5.
  • Begränsningar kring låsning för en enda skrivare (single-writer) i klassisk HDF5 har historiskt komplicerat samtidiga skrivflöden.
  • Skadade superblock kan göra hela det hierarkiska trädet otillgängligt.

Intressant teknisk kuriosa

  • HDF5-signaturen härstammar från PNG; den identifierar formatet och hjälper till att hitta vanliga överföringsfel.
  • NASAs Earth Observing System (EOS) lagrar petabyte med dagliga satellitbaserade klimatdata i HDF5-format.
  • Djupinlärningsramverk som Keras och TensorFlow gjorde HDF5 (.h5) populärt för att spara neuronnätsvikter.

Vanliga tekniska frågor

Vad är en HDF5-fil?

En HDF5-fil är som ett komplett filsystem lagrat i en enda fil, konstruerat för att lagra massiva vetenskapliga matriser, tabeller och maskininlärningsmodeller på ett effektivt sätt.

Vad är skillnaden mellan .h5 och .hdf5?

Det är ingen skillnad; .h5 och .hdf5 är två olika filändelser för exakt samma Hierarchical Data Format 5.

Hur kan jag titta på vad som finns inuti en HDF5-fil?

Du kan inspektera grupper, dataset och metadata i vilken HDF5-fil som helst med HDFView, Python h5py eller online med File2File.app.