Hive: tipos de datos

Este capítulo lo lleva a través de los diferentes tipos de datos en Hive, que están involucrados en la creación de la tabla. Todos los tipos de datos de Hive se clasifican en cuatro tipos, que se indican a continuación:

  • Tipos de columna
  • Literals
  • Valores nulos
  • Tipos complejos

Tipos de columna

Los tipos de columna se utilizan como tipos de datos de columna de Hive. Son los siguientes:

Tipos integrales

Los datos de tipo entero se pueden especificar utilizando tipos de datos integrales, INT. Cuando el rango de datos excede el rango de INT, necesita usar BIGINT y si el rango de datos es más pequeño que INT, usa SMALLINT. TINYINT es más pequeño que SMALLINT.

La siguiente tabla muestra varios tipos de datos INT:

Tipo Sufijo Ejemplo
TINYINT Y 10 años
PEQUEÑO S 10S
EN T - 10
EMPEZANDO L 10L

Tipos de cadenas

Los tipos de datos de tipo cadena se pueden especificar utilizando comillas simples ('') o comillas dobles (""). Contiene dos tipos de datos: VARCHAR y CHAR. Hive sigue a los personajes de escape de tipo C.

La siguiente tabla muestra varios tipos de datos CHAR:

Tipo de datos Longitud
VARCHAR 1 hasta 65355
CARBONIZARSE 255

Marca de tiempo

Es compatible con la marca de tiempo UNIX tradicional con precisión de nanosegundos opcional. Es compatible con el formato java.sql.Timestamp "AAAA-MM-DD HH: MM: SS.fffffffff" y el formato "aaaa-mm-dd hh: mm: ss.ffffffffff".

fechas

Los valores de FECHA se describen en formato año / mes / día en el formato {{AAAA-MM-DD}}.

Decimales

El tipo DECIMAL en Hive es el mismo que el formato Big Decimal de Java. Se utiliza para representar una precisión arbitraria inmutable. La sintaxis y el ejemplo son los siguientes:

DECIMAL(precision, scale)
decimal(10,0)

Tipos de unión

Union es una colección de tipos de datos heterogéneos. Puedes crear una instancia usandocreate union. La sintaxis y el ejemplo son los siguientes:

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}

Literales

Los siguientes literales se utilizan en Hive:

Tipos de punto flotante

Los tipos de coma flotante no son más que números con coma decimal. Generalmente, este tipo de datos se compone de DOBLE tipo de datos.

Tipo decimal

Los datos de tipo decimal no son más que un valor de punto flotante con un rango más alto que el tipo de datos DOBLE. El rango de tipo decimal es aproximadamente -10-308 a 10 308 .

Valor nulo

Los valores faltantes están representados por el valor especial NULL.

Tipos complejos

Los tipos de datos complejos de Hive son los siguientes:

Matrices

Las matrices en Hive se usan de la misma manera que se usan en Java.

Syntax: ARRAY<data_type>

Mapas

Los mapas de Hive son similares a los mapas de Java.

Syntax: MAP<primitive_type, data_type>

Estructuras

Las estructuras en Hive son similares a usar datos complejos con comentarios.

Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>