Hive简介
- 基于Hadoop的数据仓库,并以Hadoop中的HDFS为数据存储,由YARN集群进行资源调度
- 将结构化的数据映射为一张数据库表,并提供HQL查询功能
- 适合大数据量的离线处理
Hive数据类型
数字类
类型 | 长度 | 备注 |
---|---|---|
TINYINT | 1字节 | 有符号整数,从-128到127 |
SMALLINT | 2字节 | 有符号整数,从-32768到32767 |
INT/INTEGER | 4字节 | 有符号整数,从-2147483648到2147483647 |
BIGINT | 8字节 | 有符号整数,从-9223372036854775808到922337203685477580 |
FLOAT | 4字节 | 单精度浮点数 |
DOUBLE | 8字节 | 双精度浮点数 |
DECIMAL | 17字节 | 任意精度的小数,DECIMAL(5,2) |
日期时间类
类型 | 长度 | 备注 |
---|---|---|
DATE | – | 日期,内容格式:YYYYMMDD |
TIMESTAMP | – | 时间戳,内容格式:yyyy-mm-dd hh:mm:ss |
INTERVAL | – | 时间间隔单位,可细分为年、月、日、小时、分、秒等,interval ‘1’ day |
字符串类
类型 | 长度 | 备注 |
---|---|---|
STRING | – | 字符串 |
VARCHAR | 字符数范围1-65535 | 长度不定字符串 |
CHAR | 最大字符数255 | 长度固定字符串 |
Misc类
类型 | 长度 | 备注 |
---|---|---|
BOOLEAN | – | 布尔类型,TRUE/FALSE |
BINARY | – | 字节序列 |
复合类
类型 | 长度 | 备注 |
---|---|---|
ARRAY | – | 包含同类型元素的数组,ARRAY(1,2,3) |
MAP | – | 字典,key唯一且同类型,value可不唯一但同类型,Map(“Tom”:23,“Jack”:26) |
STRUCT | – | 结构体,类型不要求 |
UNIONTYPE | – | 联合体,类型可以不同,UNIONTYPE<data_type, data_type> ,可以理解为泛型;同一时刻同一地点只有联合体中的一个元素生效;uniontype中的元素共享内存;可以通过create_union内置函数创建uniontype:create_union(tag, val1, val2) tag是可以看成索引,0开始 |
类型转换
- 任意数值类型都可以转换成更宽的数据类型(不会导致精度丢失)或者文本类型
- 所有的文本类型都可以隐式地转换成另一种文本类型。也可以被转换成DOUBLE或者DECIMAL,转换失败时抛出异常
- BOOLEAN不能做任何的类型转换
- 时间戳和日期可以隐式地转换成文本类型
- 使用CAST进行显式类型转换,如CAST(‘1’ as INT),若转换失败,返回NULL