No Athena, é possível usar bibliotecas SerDe para desserializar dados JSON. A desserialização converte os dados JSON para que possam ser serializados (gravados) em um formato diferente, como Parquet ou ORC.
nota
As bibliotecas do Hive e do OpenX esperam que os dados em JSON estejam em uma única linha (não formatados), com registros separados por um caractere de nova linha.
Como o Amazon Ion é um superconjunto de JSON, você pode usar o Amazon Ion Hive SerDe para consultar conjuntos de dados JSON em formatos diferentes do Amazon Ion. Ao contrário das bibliotecas de SerDe JSON OpenX, o Amazon Ion SerDe não espera que cada linha de dados esteja em uma única linha. Esse recurso é útil quando você deseja consultar conjuntos de dados JSON que passaram por reformatação automática ou usar caracteres de nova linha para dividir os campos em uma linha.
Nomes de biblioteca
Use uma das seguintes opções:
org.apache.hive.hcatalog.data.JsonSerDe
org.openx.data.jsonserde.JsonSerDe
com.amazon.ionhiveserde.IonHiveSerDe
Recursos adicionais
Para obter mais informações sobre como trabalhar com JSON e JSON aninhado no Athena, consulte os seguintes recursos:
-
Create tables in Amazon Athena from nested JSON and mappings using JSONSerDe
(Criar tabelas no Amazon Athena de mapeamentos e JSON aninhado usando JSONSerDe) (blog sobre big data da AWS) -
Recebo mensagens de erro ao tentar ler dados JSON no Amazon Athena
(artigo do Centro de conhecimento da AWS) -
hive-json-schema
(GitHub): ferramenta escrita em Java que gera instruções CREATE TABLE
de documentos JSON de exemplo. As instruçõesCREATE TABLE
geradas usam o OpenX JSON Serde.