詳細検索

Arquivos de Parquet: Menores e Rápidos que o CSV

Avatar
por Chen Ziyu
3 min de leitura

Arquivos de Parquet: Menores e Rápidos que o CSV
Traduzido do English • Ver original

Se você já está no mundo do big data há tempo suficiente, provavelmente já ouviu falar dos arquivos Parquet. Você pode até ter usado isso enquanto pensava: "por que não podemos simplesmente usar arquivos CSV?" Hoje, vou desmistificar o mistério dos arquivos Parquet e explicar por que um número crescente de cientistas de dados prefere arquivos Parquet aos arquivos CSV.

Vamos começar com um exemplo. Suponha que temos um conjunto de dados com 100 colunas e milhões de linhas (esses conjuntos de dados são comuns no campo de big data). No entanto, precisamos extrair apenas cinco colunas para nosso projeto de análise de dados. Além disso, precisamos filtrar linhas que não se encaixam em um determinado conjunto de critérios. Temos três opções para formatos de armazenamento de dados: CSV, ORC e Parquet.

CSV é um dos formatos de arquivo mais comumente usados para armazenar dados. Ele armazena dados de forma baseada em linhas (como mostrado na imagem abaixo), ou seja, as linhas são armazenadas uma após a outra. Essa estrutura é ótima para selecionar linhas, já que elas podem ser facilmente ordenadas. No entanto, quando se trata de selecionar colunas, ler dados de arquivos CSV é ineficiente e demorado. No nosso caso, precisamos analisar todas as colunas da tabela, mesmo que só precisemos de dez colunas.

img1

Nossa segunda opção é o ORC. ORC é um formato de armazenamento de dados orientado a colunas. Ele armazena dados em colunas uma após a outra (como mostrado na imagem abaixo). Como resultado, selecionar colunas dos arquivos ORC é um processo eficiente. No entanto, a seleção de linhas no ORC envolve interagir entre todas as linhas, o que prejudica seu desempenho.

img2

Por último, mas não menos importante, também podemos escolher o Parquet para armazenar dados. Parquet é um formato híbrido de armazenamento de dados. É híbrido no sentido de que combina características tanto dos formatos de armazenamento de dados baseados em colunas quanto em linhas (como mostrado na imagem abaixo). Veja como esse estilo híbrido de estruturação de dados funciona: Cada arquivo de parquet é dividido em vários grupos de linhas, cada um contendo várias linhas. Cada grupo de linhas consiste em vários blocos de coluna, cada um correspondendo a uma coluna na tabela original.

img3

Em termos de seleção de colunas, colunas irrelevantes podem ser facilmente puladas ao coletar dados de cada grupo de linhas. Quanto à seleção de linhas, o Parquet utiliza os valores máximo e mínimo de cada bloco de colunas nos grupos de linhas para pular linhas indesejadas. Um grupo de linhas não será escaneado se existir pelo menos uma coluna cujos valores máximo e mínimo não atendam aos critérios dados (como mostrado na imagem abaixo). Graças aos mecanismos acima para seleção de colunas e linhas, podemos evitar escanear dados desnecessários em ambas as dimensões, o que resulta no desempenho de extração de dados de alto nível do Parquet.

img4

Como mostrado acima, arquivos Parquet superam arquivos CSV em termos de velocidade de recuperação de dados. Isso significa que arquivos Parquet ocupam mais espaço para alcançar a diminuição da complexidade temporal? A resposta é não. Muito pelo contrário, arquivos Parquet ocupam menos espaço do que arquivos CSV para armazenar a mesma quantidade de dados. A razão por trás disso é que Parquet emprega vários algoritmos para comprimir dados, incluindo codificação por comprimento de execução, codificação por dicionário e codificação delta.

No geral, os arquivos Parquet são superiores aos arquivos CSV em quase todos os aspectos. Primeiro, a seleção de dados no Parquet é mais eficiente devido ao seu formato de armazenamento híbrido (tanto baseado em linhas quanto em colunas). Além disso, o Parquet também requer menos espaço graças aos algoritmos de compressão que emprega. Portanto, o Parquet deve ser definitivamente seu formato de arquivo preferido se você for um cientista de dados tentando construir sistemas eficientes de processamento de dados.

Leitura recomendada: O que é Parquet (Comparação detalhada de desempenho) Entendendo o formato de arquivo Parquet (compressão) O que é o Formato de Arquivo Parquet? Casos de Uso e Benefícios

Related Articles