📜  Hive数据类型(1)

📅  最后修改于: 2023-12-03 15:15:32.330000             🧑  作者: Mango

Hive数据类型

Hive是一个构建在Hadoop之上的数据仓库,用于提供SQL查询和分析大规模数据。在Hive中,我们有许多不同的数据类型可供使用,包括:

基本数据类型
TINYINT

TINYINT是8位带符号整数类型,取值范围从-128到127。

CREATE TABLE mytable (mycolumn TINYINT);
SMALLINT

SMALLINT是16位带符号整数类型,取值范围从-32768到32767。

CREATE TABLE mytable (mycolumn SMALLINT);
INT

INT是32位带符号整数类型,取值范围从-2147483648到2147483647。

CREATE TABLE mytable (mycolumn INT);
BIGINT

BIGINT是64位带符号整数类型,取值范围从-9223372036854775808到9223372036854775807。

CREATE TABLE mytable (mycolumn BIGINT);
FLOAT

FLOAT是单精度浮点数,占4个字节,取值范围从-3.40282347E+38到+3.40282347E+38。

CREATE TABLE mytable (mycolumn FLOAT);
DOUBLE

DOUBLE是双精度浮点数,占8个字节,取值范围从-1.7976931348623157E+308到+1.7976931348623157E+308。

CREATE TABLE mytable (mycolumn DOUBLE);
BOOLEAN

BOOLEAN是布尔类型,取值为true或false。

CREATE TABLE mytable (mycolumn BOOLEAN);
STRING

STRING是不定长字符串类型。

CREATE TABLE mytable (mycolumn STRING);
TIMESTAMP

TIMESTAMP是时间戳类型,表示自1970年1月1日00:00:00以来的秒数或毫秒数。

CREATE TABLE mytable (mycolumn TIMESTAMP);
复杂数据类型
ARRAY

ARRAY是一种有序集合类型,可以包含任何数据类型的元素。

CREATE TABLE mytable (mycolumn ARRAY<STRING>);
MAP

MAP是一种键值对集合类型。

CREATE TABLE mytable (mycolumn MAP<STRING, INT>);
STRUCT

STRUCT是一种结构体类型,可以包含多个具有不同数据类型的字段。

CREATE TABLE mytable (mycolumn STRUCT<name:STRING, age:INT>);
NULL类型

NULL表示缺失或未知值。

CREATE TABLE mytable (mycolumn INT);
INSERT INTO mytable VALUES (NULL);

总的来说,Hive支持多种不同的数据类型,可用于处理各种不同类型的数据。在编写Hive查询时,请确保选择正确的数据类型,以确保正确的结果。