Set de date HDF5 (.hdf5)
Specificația StandardHierarchical Data Format 5 (HDF5) este arhitectura principală de gestionare a datelor științifice pentru matrice multidimensionale masive, utilizată pe scară largă în supercalculatoare, modelare climatică, neuroștiință și învățare automată.
Convertește din HDF5 în CSV
Convertor gratuit din HDF5 în CSV direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.
Inspectare și metadate
Sistemele de operare și analizatoarele de fișiere identifică fișierele HDF5 prin inspectarea secvenței binare inițiale:
Semnătura antetului la nivel de octet (octeți magici)
Sistemele de operare și analizatoarele de fișiere identifică fișierele HDF5 prin inspectarea secvenței binare inițiale:
SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):
89 48 44 46 0D 0A 1A 0AREPREZENTARE ASCII: \x89HDF\r\n\x1a\n
Standardizare: Specificația deschisă a The HDF Group
Specificații tehnice
| Arhitectură container | Container binar ierarhic, asemănător unui sistem de fișiere, care organizează datele în grupuri (dosare) și seturi de date (tablouri multidimensionale) cu atribute |
| Compresie | Filtre de compresie pe blocuri: Gzip (Deflate), SZIP, Zstandard, Blosc și LZF |
| Ordinea octeților | Declared in superblock (Little or Big-Endian) |
| Spații de culoare | N/A (Multi-dimensional Numerical Arrays) |
| Canale și structură | Tablouri științifice de dimensiuni mari, tipuri de date compuse și șiruri cu lungime variabilă |
| Dimensiuni maxime | Practic nelimitat (acceptă coordonate pe 64 de biți și seturi de date de ordinul petaocteților) |
| Transparență | Niciuna |
| Streaming și progresiv | Stocarea pe blocuri permite extragerea parțială a unor hiperplanuri fără a încărca întregul set de date în memorie |
Matrice de comparație tehnică: HDF5 vs. concurenți
| Atribut tehnic | HDF5 (Curent) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Structură ierarhică | Sistem de fișiere complet de tip POSIX (Grupuri și Seturi de date) | NetCDF-4 folosește HDF5 ca tehnologie de bază | Matrice și tabele cu blocuri fixe | Format de director fragmentat nativ în cloud |
| Extragerea unor secțiuni din seturi de date | Citiri hiperslab binare ultra-rapide | Citiri hiperslab rapide | Indexare directă a blocului | Preluări de fragmente paralele în cloud |
| Utilizare în învățarea automată | Standard pentru ponderi de modele (Keras .h5) | Utilizat rar în IA | Niciuna | Utilizare în creștere a seturilor de date de antrenament IA |
| Ecosistem principal | NCSA, supercalculatoare, Python h5py | NOAA, meteorologie, oceanografie | NASA, astronomie, telescoape | Știința datelor nativă în cloud |
Moduri comune de corupție și ghid de recuperare hexazecimală
Eroare Python h5py: 'Nu se poate deschide fișierul (semnătura fișierului nu a fost găsită)'.
Cauză principală: Superbloc de 8 octeți corupt la începutul fișierului.
Recuperare: Inspectează decalajele superblocului sau recuperează seturile de date cu HDF5 Tool din File2File.app.
Analiză de securitate și vectori de atac asupra parserului
Biblioteca oficială libhdf5 analizează arbori B complexi și tabele de heap în care decalajele corupte au cauzat vulnerabilități de depășire a heap-ului.
Vectori de atac cunoscuți
- Depășire de memorie tampon a heap-ului în timpul traversării indexului nodului arborelui B (de ex., CVE-2021-37501).
- Scriere în afara limitelor în pluginurile de conducte de filtrare a decompresiei personalizate.
- Refuz de serviciu prin cicluri de legătură de grup circulare.
Cele mai bune practici de securitate: Procesează fișiere HDF5 nesigure utilizând motoare WebAssembly izolate într-un sandbox, cu limite de memorie restricționate.
Origini istorice și repere
Avantaje cheie și beneficii
- Sistem de fișiere complet într-un singur fișier: organizează seturi de date complexe de mai mulți petabytes în grupuri numite și seturi de date, cum ar fi directoarele.
- Extragere de tip hyperslab, de înaltă performanță: poți citi o mică secțiune 2D dintr-o matrice 5D de 100 de gigaocteți fără să citești întregul fișier.
- Integrare profundă cu Python științific modern (h5py), MATLAB, R și supercalculatoare paralele MPI de înaltă performanță.
Limitări tehnice și dezavantaje
- Complexitatea ridicată a specificațiilor face dificilă implementarea independentă a analizatoarelor în afara bibliotecii oficiale C libhdf5.
- Limitările de blocare cu scriitor unic din HDF5 clasic au complicat istoric fluxurile de lucru de scriere concurentă.
- Superblocurile corupte pot face ca întregul arbore ierarhic să devină inaccesibil.
Curiozități tehnice interesante
- Semnătura HDF5 provine din PNG; identifică formatul și ajută la detectarea erorilor obișnuite de transfer.
- Sistemul de observare a Pământului al NASA (EOS) stochează petabytes de date climatice zilnice prin satelit în format HDF5.
- Cadrele de învățare profundă precum Keras și TensorFlow au popularizat HDF5 (.h5) pentru salvarea ponderilor rețelei neuronale.
Întrebări tehnice frecvente
Ce este un fișier HDF5?
Un fișier HDF5 este ca un sistem de fișiere complet stocat într-un singur fișier, conceput pentru a stoca eficient tablouri științifice masive, tabele și modele de învățare automată (machine learning).
Care este diferența dintre .h5 și .hdf5?
Nu există nicio diferență; .h5 și .hdf5 sunt două extensii de fișiere diferite pentru exact același format HDF5 (Hierarchical Data Format 5).
Cum pot vizualiza ce se află în interiorul unui fișier HDF5?
Poți inspecta grupurile, seturile de date și metadatele din orice fișier HDF5 folosind HDFView, Python h5py sau online cu File2File.app.