Set de date HDF5 (.hdf5)

Specificația Standard

Hierarchical 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:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

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 0A

REPREZENTARE ASCII: \x89HDF\r\n\x1a\n

Standardizare: Specificația deschisă a The HDF Group

Specificații tehnice

Arhitectură containerContainer binar ierarhic, asemănător unui sistem de fișiere, care organizează datele în grupuri (dosare) și seturi de date (tablouri multidimensionale) cu atribute
CompresieFiltre de compresie pe blocuri: Gzip (Deflate), SZIP, Zstandard, Blosc și LZF
Ordinea octețilorDeclared in superblock (Little or Big-Endian)
Spații de culoareN/A (Multi-dimensional Numerical Arrays)
Canale și structurăTablouri științifice de dimensiuni mari, tipuri de date compuse și șiruri cu lungime variabilă
Dimensiuni maximePractic nelimitat (acceptă coordonate pe 64 de biți și seturi de date de ordinul petaocteților)
TransparențăNiciuna
Streaming și progresivStocarea 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 tehnicHDF5 (Curent)NETCDFFITSZARR
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 fixeFormat de director fragmentat nativ în cloud
Extragerea unor secțiuni din seturi de dateCitiri hiperslab binare ultra-rapideCitiri hiperslab rapideIndexare directă a bloculuiPreluări de fragmente paralele în cloud
Utilizare în învățarea automatăStandard pentru ponderi de modele (Keras .h5)Utilizat rar în IANiciunaUtilizare în creștere a seturilor de date de antrenament IA
Ecosistem principalNCSA, supercalculatoare, Python h5pyNOAA, meteorologie, oceanografieNASA, 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

2020HDF5 v1.12 introduce conectori Virtual Object Layer (VOL) pentru stocarea obiectelor în cloud (Amazon S3).
2006Grupul HDF se desprinde de NCSA al Universității din Illinois ca o fundație independentă nonprofit.
1998NCSA lansează HDF5, reproiectând complet formatul HDF4 original pentru a elimina limita de 2 GB pentru fișiere.

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.