Minha IBM Efetue login Inscreva-se

O que é o Apache Parquet?

21 de janeiro de 2025

Autores

Matthew Kosinski

Enterprise Technology Writer

O que é o Apache Parquet?

O Apache Parquet é um formato de armazenamento colunar de código aberto utilizado para armazenar, gerenciar e analisar com eficiência grandes conjuntos de dados. Ao contrário dos formatos de armazenamento baseados em linhas, como o CSV ou JSON, o Parquet organiza os dados em colunas para melhorar o desempenho das consultas e reduzir os custos de armazenamento de dados.

As organizações usam diferentes formatos de arquivos para atender a outras necessidades de dados. Muitos formatos tradicionais organizam dados em linhas, otimizando transferências de dados simples e a legibilidade.

O Parquet adota uma abordagem fundamentalmente diferente. Ele agrupa tipos de dados semelhantes em colunas. Essa estrutura colunar ajudou a transformar a forma como as organizações lidam com análise de dados em grande escala, permitindo compactação superior e acesso a dados direcionados.

Por exemplo, ao analisar transações de clientes, um banco de dados de varejo que usa o Parquet pode acessar colunas específicas, como datas e valores de compras, sem carregar registros inteiros de clientes. Essa capacidade de acessar colunas específicas pode reduzir o tempo de processamento e os custos de armazenamento.

O formato Parquet é valioso em três áreas principais:

  • Cargas de trabalho de análise de dados, que processam consultas complexas em bilhões de registros.
  • Data lakes e data warehouses, que exigem armazenamento eficiente e rápida recuperação de dados.
  • Pipelines de aprendizado de máquina (ML), que analisam atributos específicos em grandes conjuntos de dados de treinamento.

Outro motivo para a adoção generalizada do Parquet é sua compatibilidade com sistemas distribuídos e ferramentas de dados, como Apache Spark, Apache Hive e Apache Hadoop.

Principais características do Apache Parquet

Comparado a outros formatos de arquivos, o Parquet transforma armazenamento de dados por meio de três recursos:

  • Formato de armazenamento colunar: enquanto os formatos de arquivo tradicionais armazenam dados em linhas, como entradas de planilhas, o Parquet usa um formato de armazenamento colunar. Ele organiza tipos semelhantes de dados agrupados em colunas, permitindo que o Parquet leia somente os valores da coluna relevante. Essa abordagem direcionada ajuda a reduzir os tempos de consulta de horas para minutos, além de diminuir significativamente os custos de armazenamento.
  • Gerenciamento de esquemas e metadados: todo arquivo Parquet contém um esquema autodescritivo, na verdade, um blueprint de sua estrutura de dados. Esses metadados ajudam nas consultas eficientes e permitem que os modelos de dados evoluam à medida que as necessidades da empresa mudam. Por exemplo, um banco de dados da empresa que usa o Parquet pode adicionar novos atributos de clientes sem reconstruir os registros existentes.
  • Compactação eficiente: o Parquet otimiza automaticamente o armazenamento de dados por meio de técnicas de compactação sofisticadas, o que significa que ele reduz os arquivos removendo informações duplicadas desnecessárias e armazenando dados em um formato mais eficiente em termos de espaço. Essa abordagem inteligente ao armazenamento de dados ajuda a garantir a eficiência de armazenamento e o desempenho de computação ideais em diferentes tipos de cargas de trabalho.
Projeto 3D de bolas rolando em uma pista

As últimas notícias e insights sobre IA 


Descubra insights selecionadas por especialistas sobre IA, nuvem e outros assuntos no boletim informativo semanal Think. 

Como o Apache Parquet funciona

O Apache Parquet transforma sistematicamente dados brutos em um formato colunar otimizado, melhorando consideravelmente a eficiência do armazenamento e o desempenho das consultas.

Veja como o Parquet processa dados:

1. Organização de dados

Ao gravar dados em um arquivo Parquet, o formato primeiro divide os dados em grupos de linhas. Cada grupo de linhas representa uma unidade independente do conjunto de dados, permitindo processamento paralelo e gerenciamento eficiente de memória para operações em grande escala. Essa estratégia de particionamento forma a base para o acesso a dados de alto desempenho do Parquet.

2. Fragmentação de colunas

Dentro de cada grupo de linhas, o algoritmo de montagem do Parquet reorganiza os dados por coluna em vez de linha. Tipos de dados semelhantes são agrupados em fragmentos de colunas, permitindo codificação especializada com base nas características dos dados. Por exemplo, uma coluna de datas pode ser otimizada de forma diferente de uma coluna de valores numéricos.

3. Compactação e codificação

A Parquet aplica um processo de otimização de duas etapas. Primeiro, ele usa esquemas de codificação como codificação de comprimento de execução (RLE) para representar valores repetidos com eficiência — particularmente valioso para colunas com muitas entradas duplicadas. Em seguida, aplica algoritmos de compactação, como o Snappy ou Gzip, para reduzir ainda mais os requisitos de armazenamento.

 4. Geração de metadados

O formato cria metadados abrangentes, incluindo esquema de arquivos e tipos de dados, estatísticas para cada coluna, localização e estrutura de grupos de linhas. Esses metadados ajudam a permitir o planejamento e a otimização eficientes de consultas.

5. Execução de consultas

Ao ler dados do Parquet, os mecanismos de consulta primeiro consultam os metadados para identificar colunas relevantes. Somente os blocos de colunas necessários são lidos do armazenamento, e os dados são descompactados e decodificados conforme a necessidade.

Benefícios do Apache Parquet

O Apache Parquet pode oferecer vantagens significativas para organizações que gerenciam operações de dados em grande escala.

Alguns de seus benefícios incluem:

Desempenho das consultas

A estrutura de dados do Parquet pode tornar a execução de consultas analíticas muito mais rápida. Quando as aplicações precisam de dados específicos, elas acessam apenas as colunas relevantes, reduzindo o tempo de consulta de horas para minutos. Esse acesso direcionado torna o Parquet valioso para organizações que executam análises complexas em escala.

Manuseio de dados complexos

Ao contrário de formatos mais simples, o Parquet pode gerenciar com eficiência estruturas de dados aninhadas e matrizes comuns em aplicações modernas. Esse recurso o torna útil para organizações que lidam com tipos de dados complexos, como estruturas semelhantes a JSON em análise de dados da web ou matrizes aninhadas em dados de sensores de dispositivos de Internet das coisas (IoT) .

Eficiência de armazenamento

O formato colunar do Parquet altera fundamentalmente a forma como os dados são armazenados e compactados. Ao agrupar tipos de dados semelhantes, o Parquet pode aplicar diferentes algoritmos de codificação a cada tipo de dados, obtendo melhores taxas de compactação do que formatos como CSV ou JSON.

Por exemplo, um conjunto de dados contendo milhões de transações de clientes pode exigir terabytes de armazenamento no formato CSV, mas apenas uma fração desse espaço quando armazenado como arquivos Parquet.

Integração de frameworks

As arquiteturas de dados modernas geralmente exigem a integração perfeita de ferramentas, que o Parquet oferece por meio da compatibilidade nativa com os principais frameworks. Independentemente de as equipes usarem Python para análise, Java para desenvolvimento de aplicações ou Apache Spark para processamento de dados, o Parquet pode ajudar a garantir um acesso consistente aos dados em toda a empresa.

Otimização do ecossistema Hadoop

A integração nativa do Parquet com o Hadoop o torna particularmente eficaz para o processamento de big data. Como o Parquet foi criado para o Hadoop Distributed File System (HDFS), ele geralmente tem um desempenho melhor do que os formatos de arquivo tradicionais nos ambientes Hadoop. Ao usar o Parquet com o Hadoop, as organizações podem executar consultas mais rapidamente e armazenar seus dados de forma mais eficiente, muitas vezes usando uma fração do espaço de armazenamento necessário anteriormente.

IBM Storage FlashSystem

IBM Storage FlashSystem: otimização do VMware para ter melhor custo, simplicidade e resiliência

Saiba como o IBM FlashSystem otimiza os ambientes VMware visando a economia, a simplicidade e a resiliência. Esta sessão destaca como o FlashSystem pode melhorar a segurança, a acessibilidade e o desempenho dos dados, fazendo dele a solução ideal para infraestruturas modernas de TI.

Casos de uso comuns do Parquet

O Apache Parquet pode lidar com uma série de necessidades de engenharia de dados em vários setores e aplicações.

Algumas de suas implementações mais impactantes incluem:

Data lakes e warehouses

As organizações que criam data lakes e data warehouses geralmente escolhem o Parquet como formato de armazenamento principal. Sua compactação e desempenho de consultas eficientes o tornam ideal para armazenar grandes volumes de dados, mantendo acesso rápido a ferramentas de business intelligence e consultas de linguagem de consulta estruturada (SQL).

Por exemplo, uma cadeia de varejo que usa o Parquet para armazenar dados de transações pode analisar padrões de vendas em milhares de lojas enquanto usa menos armazenamento do que os formatos tradicionais.

Cargas de trabalho de análise de dados

Cientistas de dados e analistas que trabalham com frameworks como o Apache Spark ou a biblioteca pandas do Python se beneficiam do desempenho otimizado da Parquet para consultas analíticas. Embora formatos como o Avro frequentemente se destaquem no processamento em nível de registro, muitos acham o formato de arquivo Parquet particularmente eficaz para análise de dados complexa.

Por exemplo, uma empresa de serviços financeiros pode usar o Parquet para armazenar dados de mercado, permitindo que os analistas processem milhões de eventos de negociação e calculem métricas de risco quase em tempo real.

Pipelines ETL

Os pipelines de dados modernos frequentemente usam o Parquet como um formato intermediário ou de destino durante os processos de extrair, transformar e carregar (ETL). Sua compatibilidade com frameworks populares, como o Apache Spark, e apoio à evolução de esquemas o tornam valioso para fluxos de trabalho de engenharia de dados que precisam lidar com alterações em estruturas de dados.

Por exemplo, organizações de saúde podem usar o Parquet para transformar com eficiência registros de pacientes de vários sistemas em um formato unificado, com recursos de evolução de esquemas que lidam automaticamente com novos campos de dados sem interromper os processos existentes.

Apache Parquet vs. outros formatos de arquivos

Veja como o formato de arquivo Parquet se compara a outros formatos de armazenamento comuns:

Parquet vs. CSV e JSON

Formatos tradicionais, como o CSV e JSON, armazenam dados em linhas, tornando-os ideais para transferência de dados simples e legibilidade humana. No entanto, ao lidar com análise de dados em grande escala, a leitura de arquivos Parquet oferece vantagens significativas.

Enquanto um CSV deve verificar linhas inteiras mesmo ao consultar colunas únicas, o armazenamento colunar do Parquet permite acesso direto a elementos de dados específicos. Por exemplo, analisar uma única coluna em um conjunto de dados em escala de petabytes pode exigir a leitura de todo o arquivo CSV, enquanto o Parquet acessaria apenas os fragmentos das colunas relevantes.

Parquet vs. Avro

O Avro e o Parquet atendem a diferentes casos de uso no ecossistema de dados. O formato baseado em linhas do Avro se destaca em cenários de serialização e streaming, tornando-o ideal para gravar eventos ou transações individuais.

O formato de arquivo Parquet, por outro lado, é otimizado para cargas de trabalho analíticas em que as organizações precisam analisar colunas específicas em milhões de registros.

Por exemplo, uma plataforma de comércio eletrônico pode usar o Avro para capturar eventos de pedidos em tempo real, mas converter esses dados em Parquet para armazenamento e análise de longo prazo.

Ecossistema de ferramentas e frameworks de suporte

A força do Apache Parquet reside não apenas em suas especificações de formato, mas também em seu forte ecossistema de frameworks e ferramentas de suporte.

Algumas das tecnologias mais significativas no ecossistema Parquet incluem:

Frameworks de processamento

O Parquet se integra sem dificuldades aos principais frameworks de processamento de dados. O Apache Spark oferece recursos de análise de dados de alto desempenho, enquanto o Hadoop permite o processamento distribuído em grandes clusters.

O Apache Arrow pode aprimorar ainda mais esse ecossistema de processamento, ao permitir o compartilhamento rápido e eficiente de dados entre sistemas e acesso direto a dados, recursos que aceleram o desempenho ao usar frameworks como o Spark e Hadoop.

As organizações podem combinar esses frameworks com o Parquet para criar pipelines de dados eficientes que variam de gigabytes a petabytes.

Linguagens e interfaces de programação

Os engenheiros de dados podem trabalhar com o Parquet por meio de várias interfaces de programação. Os desenvolvedores de Python normalmente usam pandas para manipulação de dados, enquanto as aplicações Java usam bibliotecas nativas do Parquet.

Plataformas de nuvem

Os principais provedores de nuvem, incluindo Amazon Web Services, Google Cloud Platform, Microsoft Azure e IBM Cloud, têm compatibilidade nativa com o Parquet.

O Parquet também é compatível com data warehouses e mecanismos de consulta baseados na nuvem, como Amazon Athena, Google BigQuery e IBM Db2 Warehouse.

Soluções relacionadas

Soluções relacionadas

IBM Storage DS8000

O IBM Storage DS8900F é o sistema de armazenamento mais rápido, confiável e seguro para sistemas IBM Z e servidores IBM Power.

Explore Storage DS8000
Soluções de armazenamento de dados para empresas

O IBM Storage é uma família de soluções que inclui hardware de armazenamento de dados, armazenamento definido por software e software de gerenciamento de armazenamento.

Explore as soluções de armazenamento de dados
Serviços de suporte a hardware e software  

A IBM oferece suporte proativo para servidores web e infraestrutura de data centers, reduzindo o downtime e melhorando a disponibilidade de TI.

Serviços de servidores web
Dê o próximo passo

Desde o gerenciamento de ambientes de nuvem híbrida até a garantia de resiliência de dados, as soluções de armazenamento da IBM possibilitam que você extraia insights de seus dados e mantenha uma proteção robusta contra ameaças.

Explore as soluções de armazenamento de dados Faça um tour pelo produto