Types de données dans Amazon Athena - Amazon Athena

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 Hive pour les instructions DDL telles que CREATE TABLE. Pour les requêtes DML comme SELECT, CTAS et INSERT INTO, Athena utilise les noms de types de données Trino. Le tableau suivant présente les types de données pris en charge dans Athena. Lorsque les types DDL et DML diffèrent en termes de nom, de disponibilité ou de syntaxe, ils sont indiqués dans des colonnes distinctes.

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) precision est le nombre total de chiffres. scale (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 length est spécifié, 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.

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