Hive的数据类型
Hive支持基本数据类型和复杂数据类型。基本数据类型包括数值型,布尔型,字符串型和时间戳类型。复杂数据类型包括数组,映射和结构。
基本数据类型
类型 | 描述 | 示例 |
---|---|---|
TINYINT | 1字节(8位)有符号整数,从-128到127(- 27 到 27 -1) | 1 |
SMALLINT | 2字节(16位)有符号整数,从-32768到32767(- 215 到 215 -1) | 1 |
INT | 4字节(32位)有符号整数,从 - 231 到 231 -1 | 1 |
BIGINT | 8字节(64位)有符号整数,从 - 263 到 263 -1 | 1 |
FLOAT | 4字节(32位)单精度浮点数 | 1.0 |
DOUBLE | 8字节(64位)双精度浮点数 | 1.0 |
BOOLEAN | true/false | TRUE |
STRING | 字符串 | 'a', "a" |
BINARY | 字节数组 | 二进制数据 |
TIMESTAMP | 精度到毫秒到时间戳 | 1554171318000,2019-04-02 10:15:18 |
复杂数据类型
类型 | 描述 | 示例 |
---|---|---|
ARRAY | 一组有序字段,字段类型必须相同 | array(1,2) |
MAP | 一组无序的键值对。健必须是基本数据类型,值可以是任意类型;键的类型必须统一,值的类型也必须统一。 | map("a",1,"b",2) |
STRUCT | 一组命名的字段。字段类型可以不同 | struct("a", 1, 1.0) |
Hive的STRING类型的大小?
Hive的STRING类型类似于VARCHAR类型,但无法指定大小,理论上最多能存储2GB的字符数。
复杂类型的声明
复杂数据类型声明必须使用尖括号指明数据字段的类型。