Types de données dans Amazon Athena
Lorsque vous exécutez CREATE TABLE, vous spécifiez des noms de colonne et le type de données admis dans chaque colonne. Les tables que vous créez sont stockées dans le AWS Glue Data Catalog.
Pour faciliter l’interopérabilité avec d’autres moteurs de requêtes, Athena utilise les noms de types de données Apache HiveCREATE TABLE. Pour les requêtes DML comme SELECT, CTAS et INSERT INTO, Athena utilise les noms de types de données Trino
| DDL | DML | Description |
|---|---|---|
| BOOLEAN | Les valeurs sont true et false. |
|
| TINYINT | Entier signé de 8 bits dans un format de complément à 2 avec une valeur minimale de -27 et une valeur maximale de 27-1. | |
| SMALLINT | Entier signé de 16 bits dans un format de complément à 2 avec une valeur minimale de -215 et une valeur maximale de 215-1. | |
| INT, INTEGER | Valeur signée de 32 bits dans un format de complément à 2 avec une valeur minimale de -231 et une valeur maximale de 231-1. | |
| BIGINT | Entier signé de 64 bits dans un format de complément à 2 avec une valeur minimale de -263 et une valeur maximale de 263-1. | |
| FLOAT | REAL | Nombre à virgule flottante signé à simple précision de 32 bits. La plage est comprise entre 1.40129846432481707e-45 et 3.40282346638528860e+38, positif ou négatif. Conforme à la norme IEEE sur l’arithmétique à virgule flottante (IEEE 754). |
| DOUBLE | Nombre à virgule flottante signé de 64 bits à double précision. La plage est comprise entre 4.94065645841246544e-324d et 1.79769313486231570e+308d, positif ou négatif. Conforme à la norme IEEE sur l’arithmétique à virgule flottante (IEEE 754). | |
DECIMAL(precision, scale) |
est le nombre total de chiffres. (facultatif) est le nombre de chiffres dans la partie fractionnaire avec une valeur par défaut de 0. Par exemple, utilisez ces définitions de type : decimal(11,5), decimal(15). La valeur maximale pour la précision est de 38, et la valeur maximale pour l'échelle est de 38. |
|
CHAR, CHAR(length) |
Données de caractères de longueur fixe, avec une longueur spécifiée entre 1 et 255, par exemple char(10). Si Pour plus d'informations, consultez la section relative au type de données Hive CHAR |
|
| CHAÎNE | VARCHAR | Données de caractères de longueur variable. |
VARCHAR(length) |
Données de caractères de longueur variable avec une longueur de lecture maximale. Les chaînes sont tronquées à la longueur spécifiée lors de la lecture. Si la chaîne de données sous-jacente est plus longue, elle reste inchangée. | |
| BINAIRE | VARBINARY | Données binaires de longueur variable. |
| Non disponible | TIME | Heure de la journée avec une précision à la milliseconde. |
| Non disponible | TIME(precision) |
Heure de la journée avec une précision spécifique. TIME(3) est équivalent à TIME. |
| Non disponible | TIME WITH TIME ZONE | Heure de la journée dans un fuseau horaire. Les fuseaux horaires doivent être spécifiés par rapport à l’heure UTC. |
| DATE | Date calendaire avec l’année, le mois et le jour. | |
| TIMESTAMP | TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE | Date calendaire et heure de la journée avec une précision à la milliseconde. |
| Non disponible | TIMESTAMP(precision), TIMESTAMP(precision) WITHOUT TIME ZONE |
Date calendaire et heure de la journée avec une précision spécifique. TIMESTAMP(3) est équivalent à TIMESTAMP. |
| Non disponible | TIMESTAMP WITH TIME ZONE | Date calendaire et heure de la journée dans un fuseau horaire. Les fuseaux horaires peuvent être spécifiés par rapport à l’heure UTC, sous la forme de noms de fuseaux horaires IANA ou avec l’indicateur UTC, UT, Z ou GMT. |
| Non disponible | TIMESTAMP(precision) WITH TIME ZONE |
Date calendaire et heure de la journée avec une précision spécifique, dans un fuseau horaire. |
| Non disponible | INTERVAL YEAR TO MONTH | Intervalle d’un ou de plusieurs mois entiers |
| Non disponible | INTERVAL DAY TO SECOND | Intervalle d’un ou de plusieurs secondes, minutes, heures ou jours |
ARRAY<element_type> |
ARRAY[element_type] |
Tableau de valeurs. Toutes les valeurs doivent être du même type. |
MAP<key_type, value_type> |
MAP(key_type, value_type) |
Carte dans laquelle les valeurs peuvent être recherchées par clé. Toutes les clés doivent appartenir au même type de données. Cette règle s’applique également aux valeurs. Par exemple, map<string, integer>. |
STRUCT<field_name_1:field_type_1, field_name_2:field_type_2, …> |
ROW(field_name_1 field_type_1, field_name_2 field_type_2, …) |
Structure de données avec des champs nommés et les valeurs correspondantes. |
| Non disponible | JSON | Type de valeur JSON (objet JSON, tableau JSON, numéro JSON, chaîne JSON, true, false ou null). |
| Non disponible | UUID | Identifiant unique universel |
| Non disponible | IPADDRESS | Adresse IPv4 ou IPv6. |
| Non disponible | HyperLogLog |
Ces types de données prennent en charge les éléments internes des fonctions d’approximation. Pour plus d’informations sur chaque type, cliquez sur le lien vers l’entrée correspondante de la documentation Trino. |
| P4HyperLogLog |
||
| SetDigest |
||
| QDigest |
||
| TDigest |
||