Tipi di dati in Amazon Athena - Amazon Athena

Tipi di dati in Amazon Athena

Quando si esegue CREATE TABLE, si specificano i nomi delle colonne e il tipo di dati che ogni colonna può contenere. Le tabelle create vengono archiviate in AWS Glue Data Catalog.

Per facilitare l'interoperabilità con altri motori di query, Athena utilizza i nomi dei tipi di dati Apache Hive per istruzioni DDL come CREATE TABLE. Per le query DML come SELECT, CTAS e INSERT INTO Athena utilizza i nomi dei tipi di dati Trino. La tabella seguente mostra i tipi di dati supportati in Athena. Laddove i tipi DDL e DML differiscono in termini di nome, disponibilità o sintassi, vengono visualizzati in colonne separate.

DDL DML Descrizione
BOOLEAN I valori validi sono true e false.
TINYINT : un numero intero firmato a 8 bit in formato a due complementi, con un valore minimo pari a -27 e un valore massimo pari a 27-1.
SMALLINT smallint: un numero intero firmato a 16 bit in formato a due complementi, con un valore minimo pari a -215 e un valore massimo pari a 215-1.
INT, INTEGER Un valore firmato a 64 bit in formato complemento a due, con un valore minimo pari a -263 e un valore massimo pari a 263-1.
BIGINT bigint: un numero intero firmato a 64 bit in formato a due complementi, con un valore minimo pari a -263 e un valore massimo pari a 263-1.
FLOAT REAL : un numero a virgola mobile a precisione singola a 32 bit. L'intervallo va da 1.40129846432481707e-45 a 3.40282346638528860e+38, positivo o negativo. Segue lo standard IEEE per l'aritmetica a virgola mobile (IEEE 754).
DOUBLE : un numero a virgola mobile a precisione doppia firmato a 64 bit. L'intervallo va da 4.94065645841246544e-324d a 1.79769313486231570e+308d, positivo o negativo. Segue lo standard IEEE per l'aritmetica a virgola mobile (IEEE 754).
DECIMAL[(precisione, scala)] precision è il numero totale di cifre e scale (facoltativo) è il numero di cifre nella parte frazionaria; il valore di default è 0. Ad esempio, è possibile usare il tipo di queste definizioni: decimal(11,5), decimal(15). Il valore massimo per la precisione è 38 mentre il valore massimo per la scala è 38.
CHAR, CHAR (length)

Lunghezza fissa dei dati dei caratteri specificata tra 1 e 255, ad esempio . Se viene specificato length, le stringhe vengono troncate alla lunghezza specificata durante la lettura. Se la stringa di dati sottostante è più lunga, la stringa di dati sottostante rimane invariata.

Per ulteriori informazioni, consulta la sezione relativa a tipo di dati Hive CHAR.

STRING VARCHAR Dati dei caratteri a lunghezza variabile.
VARCHAR (lunghezza) Dati di caratteri a lunghezza variabile con una lunghezza massima di lettura. Le stringhe vengono troncate alla lunghezza specificata durante la lettura. Se la stringa di dati sottostante è più lunga, la stringa di dati sottostante rimane invariata.
BINARY VARBINARY Dati binari a lunghezza variabile.
Non disponibile TIME Un'ora del giorno con precisione al millisecondo.
Non disponibile Precisione temporale Un'ora del giorno con una precisione specifica. TIME(3) è equivalente a TIME.
Non disponibile TIME WITH TIME ZONE Un'ora del giorno in un fuso orario. I fusi orari devono essere specificati come offset rispetto all'UTC.
DATE Una data del calendario con anno, mese e giorno.
TIMESTAMP TIMESTAMP WITHOUT TIME ZONE Data e ora del giorno del calendario con precisione al millisecondo.
Non disponibile TIMESTAMP (precisione), TIMESTAMP (precisione) SENZA FUSO ORARIO Una data e un'ora del giorno del calendario con una precisione specifica. TIMESTAMP(3) è equivalente a TIMESTAMP.
Non disponibile TIMESTAMP WITH TIME ZONE Data e ora del giorno del calendario in un fuso orario. I fusi orari possono essere specificati come offset rispetto all'UTC, come nomi di fusi orari IANA o utilizzando UTC, UT, Z o GMT.
Non disponibile TIMESTAMP (precision) WITH TIME ZONE Data e ora del giorno del calendario con una precisione specifica, in un fuso orario.
Non disponibile INTERVAL YEAR TO MONTH Un intervallo di uno o più mesi interi
Non disponibile INTERVAL DAY TO SECOND Intervallo di uno o più secondi, minuti, ore o giorni
ARRAY<element_type> ARRAY[element_type] Una matrice di valori. Tutti i valori nelle matrici devono essere dello stesso tipo.
MAP< tipo_chiave, tipo_valore > MAP (tipo_chiave, tipo_valore) Una mappa in cui i valori possono essere cercati per chiave. Tutte le chiavi devono essere dello stesso tipo e tutti i valori devono essere dello stesso tipo. Ad esempio, map<string, integer>.
STRUCT< field_name_1: field_type_1, field_name_2: field_type_2,... > ROW (nome_campo_1 field_type_1, nome_campo_2 field_type_2,...) Una struttura di dati con campi denominati e relativi valori.
Non disponibile JSON Tipo di valore JSON, che può essere un oggetto JSON, un array JSON, un numero JSON, una stringa JSON o. true false null
Non disponibile UUID Identificatore univoco universale
Non disponibile IpAddress Un indirizzo IPv4 o IPv6.
Non disponibile HyperLogLog Questi tipi di dati supportano funzioni interne approssimative. Per ulteriori informazioni su ciascuna funzione, visita il link corrispondente alla documentazione di Presto.
P4HyperLogLog
SetDigest
QDigest
TDigest