Hive 数据类型
操作符
-
算术操作符
运算符 作用 + 加法 - 减法 * 乘法 / 或 DIV 除法 % 或 MOD 取余 -
比较操作符
符号 描述 备注 = 等于 <>, != 不等于 > 大于 < 小于 <= 小于等于 >= 大于等于 BETWEEN 在两值之间 >=min&&<=max NOT BETWEEN 不在两值之间 IN 在集合中 NOT IN 不在集合中 <=> 严格比较两个NULL值是否相等 两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0 LIKE 模糊匹配 REGEXP 或 RLIKE 正则式匹配 IS NULL 为空 IS NOT NULL 不为空 -
逻辑操作符
运算符号 作用 NOT 或 ! 逻辑非 AND 逻辑与 OR 逻辑或 XOR 逻辑异或 -
位操作符
运算符号 作用 & 按位与 | 按位或 ^ 按位异或 ! 取反 << 左移 >> 右移
数字类型
类型 | 长度 | 备注 |
---|---|---|
TINYINT | 1字节 | 有符号整型 |
SMALLINT | 2字节 | 有符号整型 |
INT | 4字节 | 有符号整型 |
BIGINT | 8字节 | 有符号整型 |
FLOAT | 4字节 | 有符号单精度浮点数 |
DOUBLE | 8字节 | 有符号双精度浮点数 |
DECIMAL | -- | 可带小数的精确数字字符串 |
日期时间类型
类型 | 长度 | 备注 |
---|---|---|
TIMESTAMP | -- | 时间戳,内容格式:yyyy-mm-dd hh:mm:ss[.f...] |
DATE | -- | 日期,内容格式:YYYYMMDD |
INTERVAL | -- | -- |
字符串类型
类型 | 长度 | 备注 |
---|---|---|
STRING | -- | 字符串(推荐) |
VARCHAR | 字符数范围1 - 65535 | 长度不定字符串 |
CHAR | 最大的字符数:255 | 长度固定字符串 |
混杂类型
类型 | 长度 | 备注 |
---|---|---|
BOOLEAN | -- | 布尔类型 TRUE/FALSE |
BINARY | -- | 字节序列(几乎不用) |
复合类型
类型 | 长度 | 备注 |
---|---|---|
ARRAY | -- | 包含同类型元素的数组,索引从0开始 ARRAY<data_type> |
MAP | -- | 字典 MAP<primitive_type, data_type> |
STRUCT | -- | 结构体 STRUCT<col_name : data_type [COMMENT col_comment], ...> |
UNIONTYPE | -- | 联合体 UNIONTYPE<data_type, data_type, ...> |
在大数据系统中,不遵循标准格式的一个好处就是可以提供更高吞吐量的数据。当处理的数据的数量级是T 或者P 时,以最少的"头部寻址"来从磁盘上扫描数据是非常必要的。
按数据集进行封装的话可以通过减少寻址次数来提供查询的速度。而如果根据外键关系关联的话则需要进行磁盘间的寻址操作,这样会有非常高的性能消耗。