HDF5-data (.hdf5)
The 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 & Metadata
Operativsystem och filanalysverktyg identifierar HDF5-filer genom att granska den inledande binära bytesekvensen:
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 0AASCII-REPRESENTATION: \x89HDF\r\n\x1a\n
Standardisering: The HDF Group Open Standard Specification
Tekniska specifikationer
| Containerarkitektur | Hierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes |
| Komprimering | Chunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF |
| Bytessordinning | Declared in superblock (Little or Big-Endian) |
| Färgrymder | N/A (Multi-dimensional Numerical Arrays) |
| Kanaler och struktur | High-dimensional scientific arrays, compound data types, and variable-length strings |
| Maximala dimensioner | Practically unlimited (supports 64-bit coordinates and petabyte-scale datasets) |
| Transparens | None |
| Strömning och progressiv | Chunked storage enables partial hyper-slab slicing without loading full dataset into memory |
Teknisk jämförelsematris: HDF5 vs konkurrenter
| Tekniskt attribut | HDF5 (Aktuell) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Hierarkistruktur | Fullständigt POSIX-liknande filsystem (grupper och datamängder) | NetCDF-4 använder HDF5 under huven | Fasta blockmatriser & tabeller | Molnbaserat katalogformat med uppdelade bitar (chunked) |
| Datamängdsskivning | Ultrasnabba binära hyperslab-läsningar | Snabba hyperslab-läsningar | Direkt block-indexering | Molnparallella hämtningar av bitar |
| 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 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
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.