Tipos de dados no Amazon Athena
Ao executar CREATE TABLE, você especifica os nomes de coluna e o tipo de dados que cada coluna pode conter. As tabelas que você cria são armazenadas no AWS Glue Data Catalog.
Para facilitar a interoperabilidade com outros mecanismos de consulta, o Athena usa nomes de tipos de dados do Apache HiveCREATE TABLE. Para consultas DML como SELECT, CTAS e INSERT INTO, o Athena usa nomes de tipo de dados Trino
| DDL | DML | Descrição |
|---|---|---|
| BOOLEAN | Os valores são true e false. |
|
| TINYINT | Um número inteiro de 8 bits com sinal no formato de complemento de 2, com um valor mínimo de -27 e um valor máximo de 27-1. | |
| SMALLINT | Um número inteiro de 16 bits com sinal no formato de complemento de 2, com um valor mínimo de -215 e um valor máximo de 215-1. | |
| INT, INTEGER | Um valor de 32 bits com sinal no formato de complemento de 2, com um valor mínimo de -231 e um valor máximo de 231-1. | |
| BIGINT | Um número inteiro de 64 bits com sinal no formato de complemento de 2, com um valor mínimo de -263 e um valor máximo de 263-1. | |
| FLOAT | REAL | Um número de 32 bits com sinal de ponto flutuante de precisão única. O intervalo é de 1,40129846432481707e-45 a 3,40282346638528860e+38, positivo ou negativo. Segue o padrão IEEE para aritmética de ponto flutuante (IEEE 754). |
| DOUBLE | Um número de 64 bits com sinal de ponto flutuante de precisão dupla. O intervalo é de 4,94065645841246544e-324d a 1,79769313486231570e+308d, positivo ou negativo. Segue o padrão IEEE para aritmética de ponto flutuante (IEEE 754). | |
DECIMAL(precisão, escala) |
é o número total de dígitos. (opcional) é o número de dígitos na parte da fração com um padrão de 0. Por exemplo, use estas definições de tipo: decimal(11,5), decimal(15). O valor máximo para precisão é 38 e o valor máximo para escala é 38. |
|
CHAR, CHAR(comprimento) |
Dados de caractere de comprimento fixo, com um comprimento especificado entre 1 e 255, p. ex., char(10). Se o Para obter mais informações, consulte CHAR Hive data type |
|
| STRING | VARCHAR | Dados de caracteres de comprimento variável. |
VARCHAR(comprimento) |
Dados de caracteres de comprimento variável com um comprimento máximo de leitura. As strings serão truncadas no comprimento especificado quando lidas. Se a string de dados subjacente for mais longa, a string de dados subjacente permanecerá inalterada. | |
| BINARY | VARBINARY | Dados binários de comprimento variável. |
| Indisponível | TIME | Uma hora do dia com precisão de milissegundos. |
| Indisponível | TIME(precisão) |
Uma hora do dia com uma precisão específica. TIME(3) é equivalente a TIME. |
| Indisponível | TIME WITH TIME ZONE | Uma hora do dia em um fuso horário. Os fusos horários devem ser especificados como desvios em relação ao horário UTC. |
| DATA | Uma data do calendário com o ano, o mês e o dia. | |
| TIMESTAMP | TIMESTAMP, TIMESTAMP WITHOUT TIME ZONE | Uma data do calendário e hora do dia com precisão de milissegundos. |
| Indisponível | TIMESTAMP(precisão), TIMESTAMP(precisão) WITHOUT TIME ZONE |
Uma data do calendário e hora do dia com uma precisão específica. TIMESTAMP(3) é equivalente a TIMESTAMP. |
| Indisponível | TIMESTAMP WITH TIME ZONE | Uma data do calendário e hora do dia em um fuso horário. É possível especificar os fusos horários como desvios em relação ao horário UTC, como nomes de fuso horário IANA ou usando UTC, UT, Z ou GMT. |
| Indisponível | TIMESTAMP(precisão) WITH TIME ZONE |
Uma data do calendário e hora do dia com uma precisão específica, em um fuso horário. |
| Indisponível | INTERVALO ENTRE UM ANO E UM MÊS | Um intervalo de um ou mais meses inteiros |
| Indisponível | INTERVALO ENTRE UM DIA E UM SEGUNDO | Um intervalo de um ou mais segundos, minutos, horas ou dias |
ARRAY<tipo_elemento> |
ARRAY[tipo_elemento] |
Uma matriz de valores. Todos os valores devem ser do mesmo tipo de dados. |
MAP<tipo_chave, tipo_valor> |
MAP(tipo_chave, tipo_valor) |
Um mapa no qual é possível consultar os valores por chave. Todas as chaves e todos os valores devem ser do mesmo tipo de dados. Por exemplo, map<string, integer>. |
STRUCT<nome_campo_1:tipo_campo_1, nome_campo_2:tipo_campo_2, …> |
ROW(nome_campo_1:tipo_campo_1, nome_campo_2:tipo_campo_2, …) |
Uma estrutura de dados com campos nomeados e seus valores. |
| Indisponível | JSON | Tipo de valor JSON, que pode ser um objeto JSON, uma matriz JSON, um número JSON, uma string JSON, true, false ou null. |
| Indisponível | UUID | Um UUID (identificador exclusivo universal). |
| Indisponível | IPADDRESS | Endereço IPv4 ou IPv6. |
| Indisponível | Log de HyperLogLog |
Esses tipos de dados são compatíveis com mecanismos internos de funções aproximadas. Para obter mais informações sobre cada tipo, acesse o link da entrada correspondente na documentação do Trino. |
| P4HyperLogLog |
||
| SetDigest |
||
| QDigest |
||
| TDigest |
||