Tipos de dados no Amazon Athena - Amazon Athena

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 Hive para instruções DDL, como CREATE TABLE. Para consultas DML como SELECT, CTAS e INSERT INTO, o Athena usa nomes de tipo de dados Trino. A tabela a seguir mostra os tipos de dados compatíveis com o Athena. Quando os tipos DDL e DML forem diferentes em termos de nome, disponibilidade ou sintaxe, eles serão apresentados em colunas separadas.

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) precision é o número total de dígitos. scale (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 comprimento for especificado, 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.

Para obter mais informações, consulte CHAR Hive data type (Tipo de dado CHAR do Hive).

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