一、概述,包含一些常用的类型
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
为何取数组中的某个元素取不出来
maps :( MAP
通过key查v不行呢
结构: STRUCT
union :( UNIONTYPE
查询col_name.col_name
二、处理null值
缺少的值由特殊值NULL表示。