HDF5-datasett (.hdf5)
The StandardHierarchical 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:
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 0AASCII-REPRESENTASJON: \x89HDF\r\n\x1a\n
Standardisering: The HDF Group Open Standard Specification
Tekniske spesifikasjoner
| Beholderarkitektur | Hierarkisk, filsystemlignende binærbeholder som organiserer data i grupper (mapper) og datasett (flerdimensjonale arrayer) med attributter |
| Komprimering | Komprimeringsfiltre for datablokker: Gzip (Deflate), SZIP, Zstandard, Blosc og LZF |
| Bytterekkefølge | Angis i superblokken (little-endian eller big-endian) |
| Fargerom | Ikke relevant (flerdimensjonale numeriske arrayer) |
| Kanaler og struktur | Vitenskapelige arrayer med mange dimensjoner, sammensatte datatyper og strenger med variabel lengde |
| Maks. dimensjoner | I praksis ubegrenset (støtter 64-biters koordinater og datasett på petabyte-størrelse) |
| Gjennomsiktighet | Ingen |
| Strømming og progressiv visning | Lagring i datablokker gjør det mulig å hente ut delområder uten å laste hele datasettet inn i minnet |
Teknisk sammenligningsmatrise: HDF5 sammenlignet med konkurrenter
| Teknisk attributt | HDF5 (Gjeldende) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Hierarkisk struktur | Fullt POSIX-lignende filsystem (grupper og datasett) | NetCDF-4 bygger på HDF5 | Arrayer og tabeller med faste blokker | Skybasert katalogformat med oppdeling i blokker |
| Utsnitt fra datasett | Svært rask lesing av binære delområder i datasett | Rask lesing av delområder i datasett | Direkte indeksering av blokker | Parallell henting av datablokker fra skyen |
| Bruk innen maskinlæring | Standard for modellvekter (Keras .h5) | Sjelden brukt i kunstig intelligens | Ingen | Økende bruk for datasett til KI-trening |
| Primært økosystem | NCSA, superdatamaskiner, Python h5py | NOAA, meteorologi, oseanografi | NASA, astronomi, teleskoper | Skybasert 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
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.