Parquet: como ele sabe qual grupo de linhas pular/verificar?
A resposta para essa pergunta é simples: o Parquet usa metadados, que são dados sobre os dados.
O Parquet é um formato de arquivo otimizado para o armazenamento e processamento eficiente de grandes volumes de dados.
Ele contém metadados que descrevem a estrutura e o conteúdo dos dados no arquivo.
Metadados em um arquivo Parquet incluem:
- Cabeçalho: Informações iniciais sobre o arquivo.
- Rodapé: Informações finais que incluem metadados detalhados.
- Esquema: Descrição da estrutura dos dados (nomes e tipos das colunas).
- Metadados das Colunas: Informações como valores mínimos e máximos de cada coluna, etc.
Esses metadados permitem ao Parquet:
- Pular grupos de linhas: Se um grupo de linhas não contém os valores necessários para uma consulta específica, ele pode ser ignorado.
- Verificar rapidamente os dados: Metadados permitem acessar diretamente os dados necessários sem percorrer todo o arquivo.
Exemplo de Arquivo Parquet
Imagine que temos um arquivo Parquet simples que armazena informações sobre produtos:
Metadados:
O Esquema informa que o arquivo contém três colunas: id, name, e price.
- Row Group: Contém estatísticas para cada coluna, como valores mínimos e máximos.
- Consulta Eficiente: Se uma consulta procura por produtos com price maior que 1.0, o Parquet pode rapidamente ignorar este grupo de linhas porque os metadados mostram que o price máximo é 0.7.
Metadados: Magic Number
No contexto de arquivos Parquet, o "Magic Number" é um valor especial armazenado no início (header) e no final (footer) de cada arquivo. Este valor é usado para identificar e verificar o formato do arquivo.
Metadados: Linha Created by:
- Created By: Mostra que a informação fornecida se refere ao criador do arquivo.
- parquet-mr: Especifica que a biblioteca Parquet MR foi usada.
- version 1.8.1: Detalha a versão da biblioteca, ajudando a identificar quais recursos e correções de bugs estão incluídos.
- build e1d89fcb7a67f57ddfbd68d3d452c07b8fdf9f96: Um identificador único para a build da biblioteca, útil para desenvolvedores ou engenheiros que precisam rastrear a origem exata do software que gerou o arquivo.
A linha Created By nos metadados de um arquivo Parquet fornece informações importantes sobre a origem do arquivo, especificando a biblioteca e versão usadas para criá-lo, bem como um identificador único de build.
Conclusão
Os metadados permitem que o Parquet processe os dados de forma eficiente, pulando grupos de linhas desnecessários e acessando diretamente as informações relevantes. Isso torna as operações de leitura e consulta muito mais rápidas e eficientes.
Bons estudos a todos.