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