Hive学习(七) 数据类型
基本类型
类型名称 |
大小 |
最小值 |
最大值 |
示例 |
TINYINT |
1byte |
-128 |
127 |
100Y |
SMALLINT |
2byte |
-32768 |
32767 |
100S |
INT |
4byte |
-2,147,483,648 |
2,147,483,647 |
100 |
BIGINT |
8byte |
-9,223,372,036,854,770,000 |
9,223,372,036,854,770,000 |
100L |
FLOAT |
4byte |
4字节单精度 |
3.1415926 |
|
DOUBLE |
8byte |
8字节双精度 |
3.1415926 |
|
DECIMAL |
-- |
高精度浮点数 |
DECIMAL(9, 8) |
|
BOOLEAN |
-- |
布尔型,TRUE/FALSE |
TRUE |
|
BINARY |
-- |
二进制类型 |
-- |
整数类型,默认使用bigint,int。
浮点数类型,默认使用double,float。
字符串类型
对于hive的字符串类型,默认使用string。
相当于mysql数据库的varchar类型,该类型是一个可变的字符串,不过它不能声明其中最多能存储多少个字符,理论上它可以存储2GB的字符数。
复杂类型
MAP<string,string>
MAP是一组键值对的组合,可以通过KEY访问VALUE,键值之间同样要在创建表时指定分隔符。如:{“opt_obj”:”11111”,”type_name”:”mkt”}
ARRAY<string>
ARRAY表示一组相同数据类型的集合,下标从零开始,可以用下标访问,如:[“cn”,”jp”,”us”]
STRUCT<column1:string,column2:string>
不常用,类似于C、C#语言,Hive中定义的struct类型也可以使用点来访问。从文件加载数据时,文件里的数据分隔符要和建表指定的一致。
如:{“column1”:”aaa”,”column2”:”bbb”}