基本类型
类型名称 | 大小 | 最小值 | 最大值 | 示例 |
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”}