Dataset HDF5 (.hdf5)

Specifiche Standard

Hierarchical Data Format 5 (HDF5) è un'architettura avanzata per la gestione di grandi array scientifici multidimensionali. È molto usata 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.

Ispezione 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

Privato - 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: Specifiche dello standard aperto di The HDF Group

Specifiche tecniche

Architettura del contenitoreContenitore binario gerarchico, simile a un file system, che organizza i dati in gruppi (cartelle) e dataset (array multidimensionali) con attributi
CompressioneFiltri di compressione basati su blocchi: Gzip (Deflate), SZIP, Zstandard, Blosc e LZF
Endianness dei byteDichiarato nel superblocco (little-endian o big-endian)
Spazi coloreNon applicabile (array numerici multidimensionali)
Canali e strutturaArray scientifici ad alta dimensionalità, tipi di dati composti e stringhe di lunghezza variabile
Dimensioni massimePraticamente illimitate (supporta coordinate a 64 bit e dataset di scala petabyte)
TrasparenzaNessuna
Streaming e progressivoL'archiviazione a blocchi consente di leggere porzioni iperslab senza caricare l'intero dataset in memoria

Matrice di confronto tecnico: HDF5 vs Concorrenti

Attributo tecnicoHDF5 (Attuale)NETCDFFITSZARR
Struttura gerarchicaFile system completo simile a POSIX (gruppi e dataset)NetCDF-4 usa HDF5 internamenteArray e tabelle a blocchi fissiFormato a blocchi nativo per il cloud, basato su directory
Lettura di porzioni di datasetLettura binaria rapidissima di porzioni iperslabLettura rapida di porzioni iperslabIndicizzazione diretta dei blocchiRecupero parallelo di blocchi dal cloud
Uso nell'apprendimento automaticoStandard per i pesi dei modelli (Keras .h5)Raramente utilizzato nell'IANessunoUso crescente per i 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 esadecimale

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

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

Ripristino: Controlla gli offset del superblocco o recupera i dataset con HDF5 Tool di File2File.app.

Analisi di sicurezza e vettori di attacco del parser

La libreria ufficiale libhdf5 analizza alberi B complessi e tabelle heap; offset danneggiati possono provocare overflow dell'heap.

Vettori di attacco noti

  • Overflow del buffer heap durante l'attraversamento degli indici dei nodi dell'albero B (es. CVE-2021-37501).
  • Scrittura fuori dai limiti nei plugin personalizzati per i filtri di decompressione.
  • Interruzione del servizio tramite cicli di riferimenti circolari ai gruppi.

Migliori pratiche difensive: Elabora i file HDF5 non attendibili con motori WebAssembly isolati e limiti di memoria.

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

  • Un file che funge da intero file system: organizza dataset complessi di più petabyte in gruppi e dataset con nome, simili a directory.
  • Lettura efficiente di porzioni iperslab: consente di leggere una piccola porzione 2D di un'enorme matrice 5D da 100 GB senza leggere tutto il file.
  • Strettamente integrato con Python scientifico (h5py), MATLAB, R e supercomputer ad alte prestazioni con parallelismo MPI.

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 alla scrittura simultanea, con un solo writer nel formato HDF5 classico, hanno complicato a lungo i flussi di lavoro concorrenti.
  • Un superblocco danneggiato può rendere inaccessibile l'intera struttura gerarchica.

Curiosità tecniche

  • La firma HDF5 deriva da quella PNG; identifica il formato e aiuta a rilevare errori comuni di trasferimento.
  • 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 contenuto in un unico file. È progettato per archiviare in modo efficiente grandi array scientifici, tabelle e modelli di apprendimento automatico.

Qual è la differenza tra .h5 e .hdf5?

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

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

Puoi esaminare gruppi, dataset e metadati di qualsiasi file HDF5 con HDFView, Python h5py o File2File.app.