Dataset HDF5 (.hdf5)

The Standard

L'architettura HDF5 (Hierarchical Data Format 5) è la principale soluzione di gestione dei dati scientifici per enormi array multidimensionali, ampiamente utilizzata nel supercalcolo, nella modellazione climatica, nelle neuroscienze e nell'apprendimento automatico.

Converti da HDF5 a CSV

Convertitore gratuito da HDF5 a CSV nel browser. Converti i file istantaneamente sul tuo dispositivo.

Ispeziona e metadati

I sistemi operativi e gli analizzatori di file identificano i file HDF5 ispezionando la sequenza di byte binari iniziale:

Seleziona o rilascia i file qui

Conversione 100% privata nel browser: i file non lasciano mai il tuo dispositivo

o incolla Ctrl+V
Garanzia di privacy con zero trasmissioni di rete: 0 byte caricati su server esterni. Tutta l'elaborazione è avvenuta localmente nella sandbox del tuo browser.

Firma dell'intestazione a livello di byte (Magic Bytes)

I sistemi operativi e gli analizzatori di file identificano i file HDF5 ispezionando la sequenza di byte binari iniziale:

FIRMA ESADECIMALE (OFFSET 0):

89 48 44 46 0D 0A 1A 0A

RAPPRESENTAZIONE ASCII: \x89HDF\r\n\x1a\n

Standardizzazione: The HDF Group Open Standard Specification

Specifiche tecniche

Architettura del containerHierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes
CompressioneChunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF
Endianness dei byteDeclared in superblock (Little or Big-Endian)
Spazi coloreN/A (Multi-dimensional Numerical Arrays)
Canali e strutturaHigh-dimensional scientific arrays, compound data types, and variable-length strings
Dimensioni massimePractically unlimited (supports 64-bit coordinates and petabyte-scale datasets)
TrasparenzaNone
Streaming e progressivoChunked storage enables partial hyper-slab slicing without loading full dataset into memory

Matrice di confronto tecnico: HDF5 vs Concorrenti

Attributo tecnicoHDF5 (Corrente)NETCDFFITSZARR
Struttura GerarchicaFilesystem completo simile a POSIX (Gruppi e Dataset)NetCDF-4 utilizza HDF5 internamenteArray e tabelle a blocchi fissiFormato di directory suddiviso in blocchi (chunked) nativo per il cloud
Slicing dei DatasetLetture di iperslab binarie ultra-velociLetture di iperslab velociIndicizzazione diretta dei blocchiRecupero di blocchi paralleli nel cloud
Uso nell'Apprendimento AutomaticoStandard per i pesi dei modelli (Keras .h5)Raramente utilizzato nell'IANessunoCrescente utilizzo per dataset di addestramento dell'IA
Ecosistema PrincipaleNCSA, supercalcolo, Python h5pyNOAA, meteorologia, oceanografiaNASA, astronomia, telescopiData science nativa per il cloud

Modalità di corruzione comuni e guida al recupero Hex

Errore Python h5py: 'Unable to open file (file signature not found)' (Impossibile aprire il file - firma del file non trovata).

Causa principale: Superblocco di 8 byte danneggiato all'inizio del file.

Ripristino: Ispezionare gli offset del superblocco o recuperare i dataset utilizzando lo strumento HDF5 di File2File.

Analisi di sicurezza e vettori di attacco del parser

La libreria ufficiale libhdf5 analizza alberi B (B-trees) e tabelle di heap complessi in cui offset danneggiati hanno causato vulnerabilità di heap overflow.

Vettori di attacco noti

  • Heap buffer overflow durante l'attraversamento dell'indice dei nodi dell'albero B (ad es. CVE-2021-37501).
  • Scrittura fuori dai limiti (out-of-bounds) in plugin personalizzati per la pipeline dei filtri di decompressione.
  • Denial of service tramite cicli di collegamento di gruppi circolari.

Migliori pratiche difensive:

Origini storiche e tappe fondamentali

2020HDF5 v1.12 introduce i connettori VOL (Virtual Object Layer) per l'archiviazione di oggetti cloud (Amazon S3).
2006Il Gruppo HDF si separa dal NCSA dell'Università dell'Illinois diventando una fondazione indipendente senza scopo di lucro.
1998Il NCSA rilascia HDF5, riprogettando completamente l'originale HDF4 per eliminare il limite dei file a 2 GB.

Vantaggi principali e pro

  • Un filesystem completo in un unico file: organizza complessi set di dati multi-petabyte in gruppi denominati e dataset simili a directory.
  • Slicing di iperslab ad alte prestazioni: consente di leggere una piccola fetta 2D da un'enorme matrice 5D di 100 gigabyte senza dover leggere l'intero file.
  • Profonda integrazione con il moderno Python scientifico (h5py), MATLAB, R e supercomputer paralleli MPI ad alte prestazioni.

Limiti tecnici e svantaggi

  • L'elevata complessità delle specifiche rende difficili le implementazioni di parser indipendenti al di fuori della libreria C ufficiale libhdf5.
  • I limiti di blocco per scrittura singola nel classico HDF5 hanno storicamente complicato i flussi di lavoro di scrittura concorrente.
  • Superblocchi danneggiati possono rendere inaccessibile l'intero albero gerarchico.

Curiosità tecniche interessanti

  • I primi 8 magic bytes di un file HDF5 (\x89HDF\r\n\x1a\n) rispecchiano deliberatamente la firma di PNG per rilevare trasferimenti di file corrotti.
  • L'EOS (Earth Observing System) della NASA memorizza petabyte di dati climatici satellitari giornalieri in formato HDF5.
  • I framework di deep learning come Keras e TensorFlow hanno reso popolare HDF5 (.h5) per il salvataggio dei pesi delle reti neurali.

Domande tecniche frequenti

Cos'è un file HDF5?

Un file HDF5 è come un file system completo memorizzato all'interno di un singolo file, progettato per memorizzare in modo efficiente enormi array scientifici, tabelle e modelli di machine learning.

Qual è la differenza tra .h5 e .hdf5?

Non c'è differenza; .h5 e .hdf5 sono due diverse estensioni di file per esattamente lo stesso formato Hierarchical Data Format 5.

Come posso vedere cosa c'è dentro un file HDF5?

Puoi ispezionare i gruppi, i dataset e i metadati all'interno di qualsiasi file HDF5 utilizzando HDFView, Python h5py o online con File2File.app.