HDF5-datasæt (.hdf5)
The StandardHierarchical Data Format 5 (HDF5) er den førende arkitektur til håndtering af videnskabelige data i store multidimensionelle arrays og bruges i vid udstrækning inden for højtydende databehandling, klimamodellering, neurovidenskab og maskinlæring.
Konverter HDF5 til CSV
Gratis HDF5 til CSV-konverter i browseren. Konverter filer med det samme på din enhed.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer HDF5-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer HDF5-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
89 48 44 46 0D 0A 1A 0AASCII-REPRÆSENTATION: \x89HDF\r\n\x1a\n
Standardisering: The HDF Group Open Standard Specification
Tekniske specifikationer
| Containerarkitektur | Hierarkisk, filsystemlignende binærbeholder, der organiserer data i Groups (mapper) og Datasets (flerdimensionelle arrays) med attributter |
| Komprimering | Chunkbaserede komprimeringsfiltre: Gzip (Deflate), SZIP, Zstandard, Blosc og LZF |
| Byte-rækkefølge | Angives i superblokken (Little-Endian eller Big-Endian) |
| Farverum | Ikke relevant (flerdimensionelle numeriske arrays) |
| Kanaler og struktur | Videnskabelige arrays med høj dimension, sammensatte datatyper og strenge med variabel længde |
| Maks. dimensioner | Praktisk talt ubegrænset (understøtter 64-bit-koordinater og datasæt på petabyteskala) |
| Gennemsigtighed | Ingen |
| Streaming og progressiv | Chunkopdelt lagring muliggør delvis udtrækning af hyperslabs uden at indlæse hele datasættet i hukommelsen |
Teknisk sammenligningsmatrix: HDF5 sammenlignet med konkurrenterne
| Teknisk attribut | HDF5 (Aktuel) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Hierarkistruktur | Fuldt POSIX-lignende filsystem (grupper og datasæt) | NetCDF-4 bruger HDF5 underneden | Arrays og tabeller med faste blokke | Cloud-nativt format med opdelte mapper |
| Udsnit af datasæt | Ultrahurtig binær læsning af hyperslabs | Hurtig læsning af hyperslabs | Direkte blokindeksering | Parallel hentning af datablokke fra cloudlager |
| Maskinlæringsanvendelse | Standard for modelvægte (Keras .h5) | Bruges sjældent til AI | Ingen | Stigende brug af datasæt til AI-træning |
| Primært økosystem | NCSA, supercomputere, Python h5py | NOAA, meteorologi, oceanografi | NASA, astronomi, teleskoper | Cloud-nativ datavidenskab |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Python h5py-fejl: 'Unable to open file (file signature not found)'.
Grundlæggende årsag: Korrupt 8-byte superblock i begyndelsen af filen.
Gendannelse: Undersøg superblock-forskydninger eller gendan datasæt ved hjælp af File2File.app HDF5-værktøjet.
Sikkerhedsanalyse og parser-angrebsvektorer
Det officielle libhdf5-bibliotek parser komplekse B-træer og heap-tabeller, hvor korrupte forskydninger har forårsaget heap-overløbssårbarheder.
Kendte angrebsvektorer
- Heap-bufferoverløb under gennemløb af B-træets nodeindeks (f.eks. CVE-2021-37501).
- Skrivning uden for bufferens grænser i brugerdefinerede plugins til dekomprimeringsfilterpipelines.
- Nægtelse af tjeneste (DoS) gennem cirkulære gruppelænkningscyklusser.
Defensive bedste praksisser: Behandl ikke-betroede HDF5-filer i WebAssembly-motorer, der er isolerede i en sandkasse og har begrænset hukommelse.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Komplet filsystem i én fil: organiserer komplekse datasæt på flere petabytes i navngivne grupper og datasæt som mapper.
- Højtydende udtræk af hyperslabs: læs et lille 2D-udsnit fra en massiv 5D-matrice på 100 gigabyte uden at læse hele filen.
- Dyb integration med moderne videnskabelig Python (h5py), MATLAB, R og højtydende MPI-parallelle supercomputere.
Tekniske begrænsninger og ulemper
- Specifikationens høje kompleksitet gør det vanskeligt at implementere uafhængige parsere uden for det officielle C-bibliotek libhdf5.
- Begrænsninger i låsning med én skriver i klassisk HDF5 har historisk set gjort samtidige skriveforløb komplicerede.
- Korrupte superblocks kan gøre hele det hierarkiske træ utilgængeligt.
Interessante tekniske fakta
- HDF5-signaturen stammer fra PNG; den identificerer formatet og hjælper med at opdage almindelige overførselsfejl.
- NASAs Earth Observing System (EOS) gemmer petabytes af daglige satellitklimadata i HDF5-format.
- Maskinlæringsrammer som Keras og TensorFlow populariserede HDF5 (.h5) til lagring af neurale netværksvægte.
Ofte stillede tekniske spørgsmål
Hvad er en HDF5-fil?
En HDF5-fil er som et komplet filsystem i én fil, der er designet til effektivt at gemme store videnskabelige arrays, tabeller og maskinlæringsmodeller.
Hvad er forskellen mellem .h5 og .hdf5?
Der er ingen forskel; .h5 og .hdf5 er to forskellige filtypenavne for nøjagtig det samme Hierarchical Data Format 5.
Hvordan kan jeg se, hvad der er inde i en HDF5-fil?
Du kan inspicere grupperne, datasættene og metadataene inde i enhver HDF5-fil ved hjælp af HDFView, Python h5py eller online med File2File.app.