Ir para o conteúdo principal

Parquet

Experimente o Databricks gratuitamente

O que é o Parquet?

O Apache Parquet é um formato de arquivo de dados em coluna de código aberto projetado para armazenamento e recuperação de dados eficientes. Ele fornece esquemas eficientes de compressão e codificação de dados para agrupar dados complexos, melhorando o desempenho. O Apache Parquet foi projetado para ser um formato de troca comum para cargas de trabalho em batch e interativas, semelhante a RCFile e ORC, outros formatos de arquivo de armazenamento em coluna disponíveis no Hadoop.

Características do Parquet

  • Formato de arquivo de código aberto sem custo.
  • Aceita qualquer linguagem.
  • Formato baseado em colunas: os arquivos são organizados por colunas em vez de linhas, economizando espaço de armazenamento e acelerando as queries analíticas.
  • Usado para casos de uso analíticos (OLAP): normalmente em conjunto com bancos de dados OLTP tradicionais.
  • Altamente eficiente na compactação e descompactação de dados.
  • Aceita tipos de dados complexos e estruturas de dados altamente aninhadas.

Benefícios do Parquet

  • Ótimo para armazenar big data: armazene todos os tipos de dados, incluindo dados estruturados, tabelas, imagens, vídeos, documentos e muito mais.
  • Economize armazenamento em nuvem: compactação coluna por coluna eficiente e esquemas de codificação flexíveis para colunas de diferentes tipos de dados.
  • Taxa de transferência e desempenho de dados aprimorados: use técnicas como salto de dados para eliminar a necessidade de ler linhas inteiras de dados para queries que recuperam valores em colunas específicas.

O Apache Parquet é implementado por algoritmos de fragmentação e montagem de registros para acomodar estruturas de dados complexas que podem ser usadas para armazenar dados. Ele também é otimizado para processamento em massa de dados complexos e apresenta compactação de dados e tipos de codificação eficientes. Essa abordagem é melhor especialmente para queries que leem colunas específicas de tabelas grandes. O Parquet pode reduzir significativamente o IO carregando apenas as colunas necessárias.

Vantagens de armazenar dados em formato de colunas:

  • O armazenamento em colunas, como o Apache Parquet, é mais eficiente quando comparado a arquivos orientados a linhas, como CSV. O armazenamento em colunas permite que você ignore rapidamente dados irrelevantes ao realizar queries. Portanto, queries agregadas de bancos de dados orientados a linhas levam menos tempo em comparação com arquivos. Esse esquema de armazenamento também economiza hardware e minimiza a latência de acesso aos dados.
  • O Apache Parquet foi construído do zero. Isso permite estruturas de dados altamente aninhadas. O layout do arquivo de dados do Parquet é otimizado para queries que processam grandes volumes de dados, no intervalo de gigabytes para arquivos individuais.
  • O Parquet foi criado para oferecer suporte a opções de compactação flexíveis e esquemas de codificação eficientes. Como cada coluna tem um tipo de dados semelhante, é fácil compactar cada coluna, e as queries são executadas de forma ainda mais rápida. Os dados podem ser compactados usando um dos vários codecs disponíveis. Como resultado, diferentes arquivos de dados podem ser compactados de forma diferente.
  • O Apache Parquet funciona melhor com tecnologias interativas e serverless, como AWS Athena, Amazon Redshift Spectrum, Google BigQuery e Google Dataproc.

Diferença entre Parquet e CSV

O CSV é usado por muitas ferramentas, como Excel e Google Sheets, e é um formato simples e popular usado por muitas outras. O CSV é a configuração-padrão para pipelines de dados, mas tem as seguintes desvantagens:

  • O Amazon Athena e o Spectrum cobram pela quantidade de dados verificados por query.
  • O Google e a Amazon cobram pela quantidade de dados armazenados no GS ou S3.
  • O Google Dataproc cobra por tempo de execução.

O Parquet reduz os requisitos de armazenamento para grandes conjuntos de dados em pelo menos um terço e melhora muito o tempo necessário para análise e desserialização, reduzindo os custos gerais. A tabela abaixo compara a velocidade e a economia que você pode obter ao converter seus dados de CSV para Parquet.

Conjunto de dados

Tamanho no Amazon S3

Tempo de execução da query

Dados analisados

Custo

Dados armazenados como arquivos CSV

1 TB

236 segundos

1,15 TB

$ 5,75

Dados armazenados no formato Apache Parquet

130 GB

6,78 segundos

2,51 GB

$ 0,01

Economia

87% menos ao usar o Parquet

34x mais rápido

99% menos dados analisados

99,7% de economia

Parquet e Delta Lake

O projeto Delta Lake de código aberto se baseia no formato Parquet e o estende adicionando vários recursos. Recursos adicionais incluem transações ACID para armazenamento de objetos em nuvem, histórico, extensão de esquema e comandos DML simples (CRIAR, ATUALIZAR, INSERIR, EXCLUIR, DAR MERGE). O Delta Lake implementa muitos desses recursos principais usando um log de transações ordenado. Isso habilita a funcionalidade de data warehouse no armazenamento de objetos em nuvem. Saiba mais no post do blog da Databricks Diving into Delta Lake: Unpacking the Transaction Log.

Recursos adicionais

Voltar ao glossário