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 HiveCREATE TABLE
. Para consultas de DML como SELECT
, CTAS
y INSERT INTO
, Athena usa nombres de tipos de datos de Trino
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 ) |
es el número total de dígitos. (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 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 |