Hive支持原始类型和复要类型,如下所述,查看Hive Data Types
原始类型
--
类型与表的列相关。支持以下原始类型:
Integers(整型)
TINYINT -1个字节的整型
SMALLINT -2个字节的整型
INT -4个字节的整型
BIGINT -8个字节的整型
布尔类型
- BOOLEAN -TRUE/FALSE
浮点数
FLOAT -单精度
DOUBLE -双精度
定点数
-DECIMAL -用户可以指定范围和小数点位数
字符串
-STRING -在特定的字符集中的一个字符串序列
-VARCHAR -在特定的字符集中的一个有最大长度限制的字符串序列
-CHAR -在特定的字符集中的一个指定长度的字符串序列
日期和时间
-TIMESTAMP -一个特定的时间点,精确到纳秒。
-DATE -一个日期
二进制
-BINARY -一个二进制位序列
复杂类型
--
复杂类型可以由原始类型和其他组合类型构建:
结构体类型(Stuct): 使用点(.)来访问类型内部的元素。例如,有一列`c`,它是一个结构体类型{a INT; b INT},字段a可以使用表达式`c.a`来访问。
Map(key-value键值对):使用`['元素名']`来访问元素。例如,有一个Map`M`,包含`'group'->gid`的映射,则gid的值可以使用`M['group']`来访问。
数组:数组中的元素是相同的类型。可以使用`[n]`来访问数组元素,`n`是数组下标,以0开始。例如有一个数组A,有元素`['a','b','c']`,则`A[1]`返回`'b'`。