Hive应用(1.1)数据类型

Hive中除了关系数据库支持的基础数据类型外,还支持3种集合数据类型。

基本数据类型

数据类型 长度 举例
TINYINT 1byte 有符号整数
SMALLINT 2byte 有符号整数
INT 4byte 有符号整数
BIGINT 8byte 有符号整数
BOOLEAN 1byte true/false true
FLOAT 4byte 单精度浮点数
DOUBLE 8byte 双精度浮点数
STRING 变长
TIMESTAMP 整数、浮点、字符串 java.sql.Timestamp兼容格式
BINARY 变长 字节数组

集合数据类型

数据类型 描述 示例
STRUCT 类似于对象。name列中的数据:struct{first STRING, last STRING}可以使用name.first来访问first值 struct(‘John’, ‘Doe’)
MAP 键值对形式,user列的取值可以通过user[‘name’] map(‘name’, ‘Jack’, ‘age’, 18)
ARRAY 数组形式,friends列的取值可以通过friends[0] Array(‘Jack’, ‘tom’)

使用集合类型的一些示例:

1
2
3
4
5
6
7
CREATE TABLE users (
name STRING,
age SMALLINT,
address STRUCT<street:STRING, city:STRING, state:STRING>,
contacts MAP<STRING, STRING>,
friends ARRAY<STRING>
);