Hive 数据类型
Hive数据类型分为数字类型,字符串类型,其他类型和复杂类型。下面是Hive数据类型的列表。
整数类型
类型 |
大小 |
范围 |
TINYINT |
1字节有符号整数 |
-128至127 |
SMALLINT |
2字节有符号整数 |
32,768至32,767 |
INT |
4字节有符号整数 |
2,147,483,648至2,147,483,647 |
BIGINT |
8字节有符号整数 |
-9,223,372,036,854,775,808至9,223,372,036,854,775,807 |
十进制类型
类型 |
大小 |
范围 |
FLOAT |
4字节 |
单精度浮点数 |
DOUBLE |
8字节 |
双精度浮点数 |
日期/时间类型
时间戳
它以可选的纳秒精度支持传统的UNIX时间戳。
作为整数数字类型,它被解释为以秒为单位的UNIX时间戳。
作为浮点数字类型,它被解释为以秒为单位的UNIX时间戳,精确到十进制。
作为字符串,它遵循java.sql.Timestamp格式" YYYY-MM-DD HH: MM: SS.fffffffff"(小数点后9位)
日期
日期值用于指定特定的年,月和日,格式为YYYY--MM--DD。但是,它没有提供一天中的时间。日期类型的范围介于0000--01--01至9999--12--31之间。
字符串类型
STRING
字符串是一个字符序列。它的值可以用单引号(')或双引号(")引起来。
Varchar
varchar是一个变量长度类型,范围在1到65535之间,它指定字符串中允许的最大字符数。
CHAR
char是固定长度类型,最大长度固定为255、
复杂类型
类型 |
大小 |
范围 |
Struct |
它类似于C结构或使用"点"符号访问字段的对象。 |
struct('James','Roy') |
Map |
它包含键值元组,在其中使用数组符号访问字段。 |
map('first','James','last','Roy') |
Array |
它是一组相似类型的值,可以使用从零开始的整数进行索引。 |
array('James','Roy') |