Usar formatos de armazenamento colunares - Amazon Athena

Usar formatos de armazenamento colunares

Apache Parquet e ORC são formatos de armazenamento colunar otimizados para recuperação rápida de dados usados em aplicações de análises da AWS.

Os formatos de armazenamento colunar têm as seguintes características que os tornam adequados para o uso com o Athena:

  • Compactação por coluna, com algoritmo de compactação selecionado para o tipo de dados da coluna para economizar espaço de armazenamento no Amazon S3 e reduzir E/S e espaço no disco durante o processamento de consultas.

  • A aplicação de predicados em Parquet e ORC permite que as consultas do Athena busquem somente os blocos de que precisa, melhorando a performance das consultas. Quando uma consulta do Athena obtém valores de coluna específicos dos seus dados, ela usa as estatísticas dos predicados de bloco de dados, como valores máximos e mínimos, para determinar se é para ler ou ignorar o bloco.

  • A divisão de dados em Parquet e ORC permite que o Athena divida a leitura de dados entre vários leitores e aumente o paralelismo durante o processamento da consulta.

Para converter seus dados brutos existentes de outros formatos de armazenamento em Parquet ou ORC, é possível executar consultas CREATE TABLE AS SELECT (CTAS) no Athena e especificar um formato de armazenamento de dados como Parquet ou ORC, ou usar o crawler do AWS Glue.

Escolher entre Parquet e ORC

A escolha entre ORC (Optimized Row Columnar) e Parquet depende de seus requisitos específicos de uso.

O Apache Parquet fornece esquemas eficientes de compactação e codificação de dados e é ideal para executar consultas complexas e processar grandes quantidades de dados. O Parquet é otimizado para uso com o Apache Arrow, o que pode ser vantajoso se você usar ferramentas relacionadas ao Arrow.

O ORC fornece uma maneira eficiente de armazenar dados do Hive. Os arquivos ORC geralmente são menores do que os arquivos Parquet, e os índices ORC podem agilizar as consultas. Além disso, o ORC é compatível com tipos complexos, como estruturas, mapas e listas.

Ao escolher entre Parquet e ORC, considere o seguinte:

Desempenho da consulta: o Parquet é compatível com uma variedade maior de tipos de consulta, por isso pode ser a melhor opção se você planeja realizar consultas complexas.

Tipos de dados complexos: se você estiver usando tipos de dados complexos, o ORC pode ser a melhor opção, porque ele é compatível com uma variedade maior de tipos de dados complexos.

Tamanho do arquivo: se o espaço em disco for uma preocupação, o ORC geralmente resulta em arquivos menores, o que pode reduzir os custos de armazenamento.

Compactação: tanto o Parquet quanto o ORC oferecem boa compactação, mas o melhor formato para você pode depender do seu caso específico de uso.

Evolução: tanto o Parquet quanto o ORC são compatíveis com uma evolução do esquema, o que significa que você pode adicionar, remover ou modificar colunas ao longo do tempo.

Tanto o Parquet quanto o ORC são boas opções para aplicações de big data, mas considere os requisitos do seu cenário antes de escolher. Talvez você queira realizar avaliações comparativas em seus dados e consultas para ver qual formato funciona melhor para seu caso de uso.

Converter em formatos colunares

As opções para converter facilmente dados de origem, como JSON ou CSV, em um formato colunar, incluem o uso de consultas CREATE TABLE AS ou a execução de trabalhos no AWS Glue.