SerDes e formatos de dados compatíveis - Amazon Athena

SerDes e formatos de dados compatíveis

O Athena permite a criação de tabelas e a consulta de dados em formatos CSV, TSV, com delimitação personalizada e JSON, dados de formatos relacionados ao Hadoop: ORC, Apache Avro e Parquet, logs do Logstash, logs do AWS CloudTrail e logs do Apache WebServer.

nota

Os formatos listados nesta seção são usados pelo Athena para ler dados. Para obter informações sobre os formatos que o Athena usa para gravar dados ao executar consultas CTAS, veja Criar uma tabela a partir de resultados de consultas (CTAS).

Para criar tabelas e consultar dados nesses formatos no Athena, especifique uma classe de serializador/desserializador (SerDe) para que o Athena saiba qual formato é usado e como analisar os dados.

Essa tabela lista os formatos de dados compatíveis com o Athena e as bibliotecas SerDe correspondentes.

SerDe é uma biblioteca personalizada que informa ao catálogo de dados usado pelo Athena como processar os dados. Você especifica um tipo de SerDe listando-o claramento na parte ROW FORMAT da instrução CREATE TABLE no Athena. Em alguns casos, você pode omitir o nome do SerDe porque o Athena usa alguns tipos de SerDe por padrão para determinados tipos de formatos de dados.

Formatos de dados e SerDes compatíveis
Formato de dados Descrição Tipos de SerDe compatíveis com o Athena
Amazon Ion O Amazon Ion é um formato de dados autodescritivo e com tipagem rica que é um superconjunto de JSON. Esse formato de código aberto foi desenvolvido pela Amazon. Use a Amazon Ion Hive SerDe.

Apache Avro

Um formato para armazenar dados no Hadoop que usa esquemas baseados em JSON para valores de registro.

Use o Avro SerDe.

Apache Parquet

Um formato para armazenamento colunar de dados no Hadoop.

Use o Parquet SerDe e a compactação SNAPPY.

Logs do Apache WebServer

Um formato para armazenar logs no Apache WebServer.

Use o Grok SerDe ou Regex SerDe.

Logs do CloudTrail

Um formato para armazenar logs no CloudTrail.

Comma-Separated Values (CSV – Valores separados por vírgula)

Em dados em formato CSV, cada linha representa um registro de dados, e cada registro consiste em um ou mais campos, separados por vírgulas.

Delimitação personalizada

Em dados nesse formato, cada linha representa um registro de dados, e os registros são separados por um delimitador de caractere único personalizado.

Use o LazySimpleSerDe para arquivos CSV, TSV e com delimitação personalizada e especifique um delimitador de caractere único personalizado.

JSON (JavaScript Object Notation)

Em dados JSON, cada linha representa um registro de dados, e cada registro consiste em pares de atributo-valor e matrizes, separados por vírgulas.

Logs do Logstash

Um formato para armazenar logs no Logstash.

Use o Grok SerDe.

Optimized Row Columnar (ORC – Colunar de linha otimizada)

Um formato para armazenamento colunar otimizado de dados do Hive.

Use o ORC SerDe e a compactação ZLIB.

Tab-Separated Values (TSB – Valores separados por tabulação)

Em dados em formato TSV, cada linha representa um registro de dados, e cada registro consiste em um ou mais campos, separados por tabulações.

Use o LazySimpleSerDe para arquivos CSV, TSV e com delimitação personalizada e especifique o caractere separador como FIELDS TERMINATED BY '\t'.