Amazon Ion Hive SerDe
Você pode usar o Amazon Ion Hive SerDe para consultar dados armazenados no formato Amazon Ion
O Amazon Ion tem formatos binários e de texto intercambiáveis. Esse recurso combina a facilidade de uso do texto com a eficiência da codificação binária.
Para consultar dados do Amazon Ion no Athena, você pode usar o Amazon Ion Hive SerDeCREATE TABLE AS
SELECT
(CTAS) ou INSERT INTO
para copiar dados de tabelas existentes.
nota
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 de outras bibliotecas de SerDe JSON, 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.
Para obter informações adicionais e exemplos de como consultar o Amazon Ion com o Athena, consulte Analise conjuntos de dados do Amazon Ion usando o Amazon Athena
Nome da biblioteca de serialização
O nome da biblioteca de serialização do Amazon Ion SerDe é com.amazon.ionhiveserde.IonHiveSerDe
. Para obter informações sobre o código-fonte, consulte Amazon Ion Hive SerDe
Considerações e limitações
-
Campos duplicados: as structs do Amazon Ion são ordenadas e oferecem suporte a campos duplicados, o que não acontece com
STRUCT<>
eMAP<>
do Hive. Assim, quando você desserializa um campo duplicado de uma struct do Amazon Ion, um único valor é escolhido de forma não determinística e os outros são ignorados. -
Tabelas de símbolos externos sem suporte: atualmente, o Athena não oferece suporte a tabelas de símbolos externos ou às seguintes propriedades do Amazon Ion Hive SerDe:
-
ion.catalog.class
-
ion.catalog.file
-
ion.catalog.url
-
ion.symbol_table_imports
-
-
Extensões de arquivo: o Amazon Ion usa extensões de arquivo para determinar o codec de compactação a ser usado na desserialização de arquivos do Amazon Ion. Assim, os arquivos compactados devem ter a extensão que corresponde ao algoritmo de compactação usado. Por exemplo, se for usado o ZSTD, os arquivos correspondentes deverão ter a extensão
.zst
. -
Dados homogêneos: o Amazon Ion não tem restrições de tipos de dados que podem ser usados como valores em campos específicos. Por exemplo, dois documentos diferentes do Amazon Ion podem ter um campo com o mesmo nome que tenha tipos de dados diferentes. No entanto, como o Hive usa um esquema, todos os valores extraídos para uma única coluna do Hive devem ter o mesmo tipo de dado.
-
Restrições de tipo de chave: ao serializar dados de outro formato para o Amazon Ion, certifique-se de que o tipo de chave do mapa seja
STRING
,VARCHAR
ouCHAR
. Embora o Hive permita usar qualquer tipo de dado primitivo como chave do mapa, os símbolos do Amazon Iondevem ser um tipo de string. -
Tipo union: atualmente, o Athena não oferece suporte ao tipo union
do Hive. -
Tipo de dados “double”: no momento, o Amazon Ion não oferece suporte ao tipo de dados
double
.