HDF5-data (.hdf5)
Den StandardHierarchical 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:
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 0AASCII-REPRESENTATION: \x89HDF\r\n\x1a\n
Standardisering: Den öppna standarden från The HDF Group
Tekniska specifikationer
| Containerarkitektur | Hierarkisk binär behållare likt ett filsystem som organiserar data i grupper (mappar) och dataset (flerdimensionella matriser) med attribut |
| Komprimering | Blockbaserade komprimeringsfilter: Gzip (Deflate), SZIP, Zstandard, Blosc och LZF |
| Byteordning | Anges i superblocket (little-endian eller big-endian) |
| Färgrymder | Ej tillämpligt (flerdimensionella numeriska matriser) |
| Kanaler och struktur | Vetenskapliga matriser med många dimensioner, sammansatta datatyper och strängar med variabel längd |
| Maximala dimensioner | I praktiken obegränsad (stöder 64-bitars koordinater och dataset på petabyteskala) |
| Transparens | Ingen |
| Strömning och progressiv visning | Blockindelad 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 attribut | HDF5 (Aktuell) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Hierarkistruktur | Fullständigt POSIX-liknande filsystem (grupper och datamängder) | NetCDF-4 använder HDF5 internt | Fasta blockmatriser & tabeller | Molnanativt katalogformat med chunkindelad lagring |
| Uttag av delmängder ur dataset | Ultrasnabb binär läsning av hyperplansutdrag | Snabb läsning av hyperplansutdrag | Direkt block-indexering | Parallell hämtning av block i molnet |
| Användning inom maskininlärning | Standard för modellvikter (Keras .h5) | Används sällan inom AI | Ingen | Växande användning för AI-träningsdata |
| Primärt ekosystem | NCSA, superdatorer, Python h5py | NOAA, meteorologi, oceanografi | NASA, astronomi, teleskop | Molnbaserad 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
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.