Tipos de datos en Amazon Athena - Amazon Athena

Tipos de datos en Amazon Athena

Cuando ejecute CREATE TABLE, deberá especificar los nombres de las columnas y el tipo de datos que puede contener cada columna. Las tablas que cree se almacenan en el AWS Glue Data Catalog.

Para facilitar la interoperabilidad con otros motores de consultas, Athena usa nombres de tipos de datos de Apache Hive para instrucciones DDL como CREATE TABLE. Para consultas de DML como SELECT, CTAS y INSERT INTO, Athena usa nombres de tipos de datos de Trino. En la siguiente tabla, se muestran los tipos de datos admitidos en Athena. Cuando los tipos DDL y DML difieren en el nombre, la disponibilidad o la sintaxis, se muestran en columnas independientes.

DDL DML Descripción
BOOLEAN Los valores son true y false.
TINYINT Un número entero firmado de 8 bits en formato de complemento de dos, con un valor mínimo de -27 y un valor máximo de 27-1.
SMALLINT Un número entero firmado de 16 bits en formato de complemento de dos, con un valor mínimo de -215 y un valor máximo de 215-1.
INT, INTEGER Un firmado de 32 bits en formato de complemento de dos, con un valor mínimo de -231 y un valor máximo de 231-1.
BIGINT Un número entero firmado de 64 bits en formato de complemento de dos, con un valor mínimo de -263 y un valor máximo de 263-1.
FLOAT REAL Un número firmado de punto flotante de precisión simple de 32 bits. El rango es de 1.40129846432481707e-45 a 3.40282346638528860e+38, positivo o negativo. Sigue el Estándar IEEE para Aritmética de Punto Flotante (IEEE 754).
DOBLE Un número firmado de punto flotante de doble precisión de 64 bits. El rango es de 4.94065645841246544e-324d a 1.79769313486231570e+308d, positivo o negativo. Sigue el Estándar IEEE para Aritmética de Punto Flotante (IEEE 754).
DECIMAL (precisión, escala) precision es el número total de dígitos. scale (opcional) es el número de dígitos de la parte fraccionaria con un valor predeterminado de 0. Por ejemplo, utilice estas definiciones de tipo: decimal(11,5), decimal(15). El valor máximo para precisión es 38 y el valor máximo para escala también es 38.
CHAR, CHAR (longitud)

Datos de caracteres de longitud fija, con una longitud especificada comprendida entre 1 y 255 como, por ejemplo, car(10) . Si se especifica la longitud, las cadenas se truncan en la longitud especificada cuando se leen. Si la cadena de datos subyacente es más larga, esta permanece sin cambios.

Para obtener más información, consulte Tipo de datos Hive CHAR.

STRING VARCHAR Datos de caracteres de longitud variable.
VARCHAR (longitud) Datos de caracteres de longitud variable con una longitud máxima de lectura. Las cadenas se truncan con la longitud especificada cuando se leen. Si la cadena de datos subyacente es más larga, esta permanece sin cambios.
BINARIO VARBINARY Datos binarios de longitud variable.
HORA Hora del día con precisión de milisegundos.
No disponible HORA (precisión) Una hora del día con una precisión específica. TIME(3) es equivalente a TIME.
No disponible HORA CON ZONA HORARIA Hora del día en una zona horaria. Las zonas horarias deben especificarse como desfases con respecto a la UTC.
FECHA Una fecha de calendario con el año, el mes y el día.
MARCA DE TIEMPO MARCA DE TIEMPO, MARCA DE TIEMPO SIN ZONA HORARIA Una fecha y hora del día del calendario con una precisión de milisegundos.
No disponible MARCA DE TIEMPO (precisión), MARCA DE TIEMPO (precisión) SIN ZONA HORARIA Una fecha y hora del día del calendario con una precisión específica. TIMESTAMP(3) es equivalente a TIMESTAMP.
No disponible MARCA DE TIEMPO CON ZONA HORARIA Fecha y hora del día del calendario en una zona horaria. Las zonas horarias se pueden especificar como desfases con respecto a UTC, como nombres de zonas horarias de la IANA, o mediante UTC, UT, Z o GMT.
No disponible MARCA DE TIEMPO(precisión) CON ZONA HORARIA Una fecha y hora del día del calendario con una precisión específica, en una zona horaria.
No disponible INTERVALO AÑO A MES Un intervalo de uno o más meses enteros
No disponible INTERVALO DÍA A SEGUNDO Un intervalo de uno o más segundos, minutos, horas o días
ARRAY<element_type> ARRAY[element_type] Una matriz de valores. Todos los valores deben ser del mismo tipo de dato.
MAP<key_type, value_type> MAPA(key_type, value_type) Un mapa en el que los valores se pueden buscar por clave. Todas las claves y todos los valores deben ser del mismo tipo de dato. Por ejemplo, map<string, integer>.
STRUCT<field_name_1:field_type_1, field_name_2:field_type_2, …> FILA(field_name_1 field_type_1, field_name_2 field_type_2, …) Estructura de datos con campos con nombre y sus valores.
No disponible JSON Tipo de valor JSON, que puede ser un objeto JSON, una matriz JSON, un número JSON, una cadena JSON, true, false o null.
No disponible UUID Un UUID (identificador único universal).
No disponible IPADDRESS Una dirección IPv4 o IPv6.
No disponible HyperLogLog Estos tipos de datos admiten funciones internas aproximadas. Para obtener más información acerca de cada tipo, visite el enlace a la entrada correspondiente en la documentación de Trino.
P4HyperLogLog
SetDigest
QDigest
TDigest