HIVE使用手册(四)数据类型

一、概述,包含一些常用的类型

1.数值类型:

TINYINT(1字节有符号整数,从-128至127)

SMALLINT(2字节有符号整数,从-32,768至32,767)

INT / INTEGER(4字节有符号整数,从-2,147,483,648到2,147,483,647)

BIGINT(8字节符号整数,从-9,223,372,036,854,775,808至

9,223,372,036,854,775,807)

FLOAT (4字节单精度浮点数)

DOUBLE (8字节双精度浮点数)

**DOUBLE PRECISION ( DOUBLE的别名,仅从 Hive 2.2.0开始提供)

DECIMAL

在Hive 0.11.0中引入,精度为38位

Hive 0.13.0引入了用户可定义的精度和规模

为SQL Server、MySql等数据库的一种数据类型,不属于浮点 数类型,可以在定义时划定整数部分以及小数部分的位数。使用精确小数类型不仅能够保证数据计算更为精确,还可以节省储存空间,例如百分比使用decimal(4,2)即可。存储数据范围是:-10^38~10^38-1 的固定精度和小数位的数字。一个decimal类型的数据占用了2~17个字节。

NUMERIC(同样DECIMAL,从Hive 3.0.0开始)

2.日期和时间类型

TIMESTAMP(注意:仅从 Hive 0.8.0开始提供)

“YYYY-MM-DD HH:MM:SS.fffffffff”(9位小数精度)

DATE(注意:仅从 Hive 0.12.0开始提供)

年/月/日YYYY-­MM-­DD

**INTERVAL(注意:仅从Hive 1.2.0开始提供)

3.字符串类型

STRING:单引号或者双引号

VARCHAR(注意:仅从 Hive 0.12.0开始提供)

可变长字符串,要规定范围1和65535之间

CHAR(注意:仅从 Hive 0.13.0开始提供)

定长字符串,最大长度固定在255

4.杂项类型

BOOLEAN

BINARY(注意:仅从 Hive 0.8.0开始提供)

5.复杂类型

数组:( ARRAY<data_type>注意:从Hive 0.14开始,允许使用负值和非常量表达式 。)

为何取数组中的某个元素取不出来

maps :( MAP<primitive_type, data_type>注意:从Hive 0.14开始,允许使用负值和非常量表达式 。)

通过key查v不行呢

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

union :( UNIONTYPE<data_type, data_type, ...>注意:仅从 Hive 0.7.0开始提供。)

查询col_name.col_name

二、处理null值

缺少的值由特殊值NULL表示。

猜你喜欢

转载自blog.csdn.net/Griezmann_7/article/details/85778808