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], ...>