Conjunto de dados HDF5 (.hdf5)

Especificação Padrão

Hierarchical Data Format 5 (HDF5) é uma arquitetura de gerenciamento de dados científicos para matrizes multidimensionais muito grandes. É amplamente usado em supercomputação, modelagem climática, neurociência e aprendizado de máquina.

Converter HDF5 para CSV

Conversor gratuito de HDF5 para CSV no navegador. Converta arquivos instantaneamente no seu dispositivo.

Inspeção e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos HDF5 pela sequência inicial de bytes:

Selecione ou solte os arquivos aqui

Privado - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de privacidade sem transmissão pela rede 0 bytes enviados a servidores externos. Todo o processamento ocorreu localmente no ambiente isolado do navegador.

Assinatura do arquivo em bytes (magic bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos HDF5 pela sequência inicial de bytes:

ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):

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

REPRESENTAÇÃO ASCII: \x89HDF\r\n\x1a\n

Padronização: Especificação do padrão aberto do The HDF Group

Especificações técnicas

Estrutura do contêinerContêiner binário hierárquico, semelhante a um sistema de arquivos, que organiza dados em grupos (pastas) e conjuntos de dados (matrizes multidimensionais) com atributos
CompressãoFiltros de compactação por blocos: Gzip (Deflate), SZIP, Zstandard, Blosc e LZF
Ordem dos bytes (endianness)Declarada no superbloco (little-endian ou big-endian)
Espaços de corNão se aplica (matrizes numéricas multidimensionais)
Canais e EstruturaMatrizes científicas de alta dimensão, tipos de dados compostos e strings de comprimento variável
Dimensões MáximasPraticamente ilimitado (suporta coordenadas de 64 bits e conjuntos de dados de escala de petabytes)
TransparênciaNenhuma
Streaming e ProgressivoO armazenamento em blocos permite ler partes de hipermatrizes sem carregar o conjunto de dados inteiro na memória

Matriz de comparação técnica: HDF5 e formatos concorrentes

Atributo técnicoHDF5 (Atual)NETCDFFITSZARR
Estrutura de HierarquiaSistema de arquivos completo, semelhante ao POSIX (grupos e conjuntos de dados)NetCDF-4 usa HDF5 internamenteMatrizes e tabelas em blocos fixosFormato de diretórios em blocos nativo da nuvem
Fatiamento de conjunto de dadosLeitura binária ultrarrápida de hipermatrizesLeituras rápidas de hiperslabIndexação direta de blocosBuscas de blocos paralelos na nuvem
Uso em Aprendizado de MáquinaPadrão para pesos de modelos (Keras .h5)Raramente usado em IANenhumUso crescente em conjuntos de dados de treinamento de IA
Ecossistema PrincipalNCSA, supercomputação, Python h5pyNOAA, meteorologia, oceanografiaNASA, astronomia, telescópiosCiência de dados nativa da nuvem

Modos comuns de corrupção e guia de recuperação com editor hexadecimal

Erro no Python h5py: 'Não é possível abrir o arquivo (assinatura do arquivo não encontrada)'.

Causa principal: Superbloco de 8 bytes corrompido no início do arquivo.

Recuperação: Inspecione os deslocamentos do superbloco ou recupere conjuntos de dados usando a Ferramenta HDF5 do File2File.app.

Análise de segurança e vetores de ataque a analisadores

A biblioteca oficial libhdf5 analisa árvores B complexas e tabelas de heap, nas quais deslocamentos corrompidos já causaram vulnerabilidades de estouro de heap.

Vetores de ataque conhecidos

  • Estouro de buffer de heap durante a travessia do índice de um nó de árvore B (ex.: CVE-2021-37501).
  • Escrita fora dos limites em plugins personalizados de pipeline de filtro de descompressão.
  • Negação de serviço através de ciclos de ligação de grupos circulares.

Melhores práticas defensivas: Processe arquivos HDF5 não confiáveis usando mecanismos WebAssembly em ambientes isolados e com limites de memória restritos.

Origens históricas e marcos

2020O HDF5 v1.12 introduz conectores da Virtual Object Layer (VOL) para armazenamento de objetos em nuvem (Amazon S3).
2006O Grupo HDF se separa do NCSA da Universidade de Illinois e se torna uma fundação independente sem fins lucrativos.
1998O NCSA lança o HDF5, redesenvolvendo completamente o HDF4 original para eliminar os limites de arquivo de 2 GB.

Principais vantagens

  • Sistema de arquivos completo em um arquivo: organiza conjuntos de dados complexos de vários petabytes em grupos nomeados e conjuntos de dados como diretórios.
  • Leitura de hiperslab de alto desempenho: leia uma pequena fatia 2D de uma matriz 5D de 100 gigabytes sem ler o arquivo inteiro.
  • Integração profunda com Python científico moderno (h5py), MATLAB, R e supercomputadores de alto desempenho com processamento paralelo via MPI.

Limitações técnicas e desvantagens

  • A alta complexidade da especificação dificulta implementações de parser independentes fora da biblioteca C libhdf5 oficial.
  • Limitações de bloqueio de gravador único no HDF5 clássico historicamente complicavam fluxos de trabalho de gravação concorrentes.
  • Superblocos corrompidos podem tornar toda a árvore hierárquica inacessível.

Curiosidades técnicas

  • A assinatura HDF5 deriva da assinatura PNG; identifica o formato e ajuda a detectar erros comuns de transferência.
  • O Sistema de Observação da Terra (EOS) da NASA armazena petabytes de dados climáticos diários de satélite no formato HDF5.
  • Frameworks de aprendizado profundo como Keras e TensorFlow popularizaram o HDF5 (.h5) para salvar pesos de redes neurais.

Perguntas técnicas frequentes

O que é um arquivo HDF5?

Um arquivo HDF5 é como um sistema de arquivos completo armazenado dentro de um único arquivo, projetado para armazenar matrizes científicas massivas, tabelas e modelos de aprendizado de máquina de forma eficiente.

Qual é a diferença entre .h5 e .hdf5?

Não há diferença; .h5 e .hdf5 são duas extensões de arquivo para exatamente o mesmo formato, o Hierarchical Data Format 5.

Como posso ver o que está dentro de um arquivo HDF5?

Você pode inspecionar os grupos, conjuntos de dados e metadados dentro de qualquer arquivo HDF5 usando o HDFView, Python h5py ou online com o File2File.app.