Hive - Tipos de dados
Este capítulo apresenta os diferentes tipos de dados no Hive, que estão envolvidos na criação da tabela. Todos os tipos de dados no Hive são classificados em quatro tipos, conforme segue:
- Tipos de coluna
- Literals
- Valores Nulos
- Tipos Complexos
Tipos de coluna
Os tipos de coluna são usados como tipos de dados de coluna do Hive. Eles são os seguintes:
Tipos Integrais
Os dados do tipo inteiro podem ser especificados usando tipos de dados integrais, INT. Quando o intervalo de dados excede o intervalo de INT, você precisa usar BIGINT e se o intervalo de dados for menor que o INT, você usa SMALLINT. TINYINT é menor que SMALLINT.
A tabela a seguir descreve vários tipos de dados INT:
Tipo | Postfix | Exemplo |
---|---|---|
TINYINT | Y | 10 anos |
SMALLINT | S | 10S |
INT | - | 10 |
BIGINT | eu | 10L |
Tipos de String
Os tipos de dados do tipo string podem ser especificados usando aspas simples ('') ou aspas duplas (""). Ele contém dois tipos de dados: VARCHAR e CHAR. O Hive segue caracteres de escape do tipo C.
A tabela a seguir descreve vários tipos de dados CHAR:
Tipo de dados | comprimento |
---|---|
VARCHAR | 1 a 65355 |
CARACTERES | 255 |
Timestamp
Suporta carimbo de data / hora UNIX tradicional com precisão opcional de nanossegundos. Ele suporta o formato java.sql.Timestamp “AAAA-MM-DD HH: MM: SS.fffffffff” e o formato “aaaa-mm-dd hh: mm: ss.ffffffffff”.
datas
Os valores da DATA são descritos no formato ano / mês / dia no formato {{AAAA-MM-DD}}.
Decimais
O tipo DECIMAL no Hive é igual ao formato Big Decimal do Java. É usado para representar precisão arbitrária imutável. A sintaxe e o exemplo são os seguintes:
DECIMAL(precision, scale)
decimal(10,0)
Tipos de União
Union é uma coleção de tipos de dados heterogêneos. Você pode criar uma instância usandocreate union. A sintaxe e o exemplo são os seguintes:
UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>
{0:1}
{1:2.0}
{2:["three","four"]}
{3:{"a":5,"b":"five"}}
{2:["six","seven"]}
{3:{"a":8,"b":"eight"}}
{0:9}
{1:10.0}
Literais
Os seguintes literais são usados no Hive:
Tipos de ponto flutuante
Os tipos de ponto flutuante nada mais são do que números com casas decimais. Geralmente, este tipo de dados é composto do tipo de dados DOUBLE.
Tipo Decimal
Os dados de tipo decimal nada mais são do que um valor de ponto flutuante com intervalo mais alto que o tipo de dados DOUBLE. O intervalo do tipo decimal é de aproximadamente -10 -308 a 10 308 .Valor Nulo
Os valores ausentes são representados pelo valor especial NULL.
Tipos Complexos
Os tipos de dados complexos do Hive são os seguintes:
Arrays
Arrays no Hive são usados da mesma maneira que são usados em Java.
Syntax: ARRAY<data_type>
Mapas
Os mapas no Hive são semelhantes aos mapas Java.
Syntax: MAP<primitive_type, data_type>
Structs
Structs no Hive é semelhante ao uso de dados complexos com comentários.
Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>