HDF5-data (.hdf5)

The 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 & Metadata

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

Välj eller släpp filer här

100 % privat konvertering i webbläsaren - filer lämnar aldrig din enhet

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

Signatur för filhuvud på bytenivå (Magic Bytes)

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

HEX-SIGNATUR (OFFSET 0):

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

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

Standardisering: The HDF Group Open Standard Specification

Tekniska specifikationer

ContainerarkitekturHierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes
KomprimeringChunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF
BytessordinningDeclared in superblock (Little or Big-Endian)
FärgrymderN/A (Multi-dimensional Numerical Arrays)
Kanaler och strukturHigh-dimensional scientific arrays, compound data types, and variable-length strings
Maximala dimensionerPractically unlimited (supports 64-bit coordinates and petabyte-scale datasets)
TransparensNone
Strömning och progressivChunked storage enables partial hyper-slab slicing without loading full dataset into memory

Teknisk jämförelsematris: HDF5 vs konkurrenter

Tekniskt attributHDF5 (Aktuell)NETCDFFITSZARR
HierarkistrukturFullständigt POSIX-liknande filsystem (grupper och datamängder)NetCDF-4 använder HDF5 under huvenFasta blockmatriser & tabellerMolnbaserat katalogformat med uppdelade bitar (chunked)
DatamängdsskivningUltrasnabba binära hyperslab-läsningarSnabba hyperslab-läsningarDirekt block-indexeringMolnparallella hämtningar av bitar
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 8-bytes superblock i början av filen.

Återställning: Inspektera förskjutningar (offsets) i superblocket eller återställ datamängder med File2File 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.
  • Neka till tjänst (DoS) genom cirkulära grupperingscykler.

Rekommenderade skyddsåtgärder:

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.
  • Högpresterande skivning av hyperslabs (hyperslab slicing): läs ett litet 2D-snitt från en massiv 100 gigabyte stor 5D-matris utan att läsa 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 enskilda skribenter (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

  • De första 8 magiska bytena i en HDF5-fil (\x89HDF\r\n\x1a\n) speglar medvetet PNG:s signatur för att upptäcka korrupta filöverföringar.
  • NASAs Earth Observing System (EOS) lagrar petabyte av dagliga satellitklimatdata 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.