SerDe de Amazon Ion Hive
Puede utilizar el SerDe de Amazon Ion Hive para consultar datos almacenados en formato Amazon Ion
Amazon Ion tiene formatos binarios y de texto que son intercambiables. Esta característica combina la facilidad de uso del texto con la eficacia de la codificación binaria.
Para consultar los datos de Amazon Ion desde Athena, puede utilizar el SerDe de Amazon Ion HiveCREATE TABLE AS
SELECT
(CTAS) o INSERT INTO
para copiar datos de tablas existentes.
nota
Dado que Amazon Ion es un superconjunto de JSON, puede utilizar el SerDe de Amazon Ion Hive para consultar conjuntos de datos JSON que no sean de Amazon Ion. A diferencia de otras bibliotecas de SerDe JSON, el SerDe de Amazon Ion no espera que cada fila de datos esté en una sola línea. Esta característica resulta útil si desea consultar conjuntos de datos JSON que presentan “un buen formato de impresión” o dividir los campos en una fila con caracteres de nueva línea.
Para obtener información adicional y ejemplos de consultas de Amazon Ion con Athena, consulte Analizar conjuntos de datos de Amazon Ion con Amazon Athena
Nombre de la biblioteca de serialización
El nombre de la biblioteca de serialización de SerDe de Amazon Ion es com.amazon.ionhiveserde.IonHiveSerDe
. Para obtener información sobre el código fuente, consulte Amazon Ion Hive SerDe
Consideraciones y limitaciones
-
Campos duplicados: las estructuras de Amazon Ion están ordenadas y admiten campos duplicados, mientras que
STRUCT<>
yMAP<>
de Hive no lo hacen. Por lo tanto, cuando se deserializa un campo duplicado de una estructura de Amazon Ion, se elige un solo valor de forma no determinista y los demás se ignoran. -
Tablas de símbolos externas no compatibles: en la actualidad, Athena no admite tablas de símbolos externas ni las siguientes propiedades del SerDe de Amazon Ion Hive:
-
ion.catalog.class
-
ion.catalog.file
-
ion.catalog.url
-
ion.symbol_table_imports
-
-
Extensiones de archivo: Amazon Ion utiliza extensiones de archivo para determinar qué códec de compresión se debe utilizar para deserializar archivos de Amazon Ion. Por lo tanto, los archivos comprimidos deben tener la extensión de archivo que corresponde al algoritmo de compresión utilizado. Por ejemplo, si se utiliza ZSTD, los archivos correspondientes deben tener la extensión
.zst
. -
Datos homogéneos: Amazon Ion no tiene restricciones sobre los tipos de datos que se pueden utilizar para valores en campos determinados. Por ejemplo, dos documentos de Amazon Ion diferentes pueden tener un campo con el mismo nombre, pero con tipos de datos diferentes. Sin embargo, dado que Hive utiliza un esquema, todos los valores que se extraen en una sola columna de Hive deben tener el mismo tipo de datos.
-
Restricciones del tipo de clave de asignación: cuando serialice datos de otro formato en Amazon Ion, asegúrese de que el tipo de clave de asignación sea uno de los siguientes:
STRING
,VARCHAR
, oCHAR
. Si bien Hive permite utilizar cualquier tipo de datos primitivo como clave de asignación, los símbolos de Amazon Iondeben ser de tipo cadena. -
Tipo de unión: Athena no admite actualmente el tipo de unión
de Hive. -
Tipo de datos double: Amazon Ion no admite actualmente el tipo de datos
double
.