3. Hive的数据类型
Hive内置数据类型主要分为两类:基础数据类型和复杂数据类型。
基础数据类型无外乎就是tinyint、smallint、int、bigint、boolean、float、double、string、timestamp、decimal等。
笔者这里主要介绍Hive的复杂数据类型,或者称之为集合类型。
Hive的复杂数据类型主要分三种:map、array、struct,并且支持复杂类型嵌套,利用好这些数据类型,将有效提高数据查询效率。目前为止对于关系型数据库不支持这些复杂类型。
- 首先创建一张表
create table t_complex(id int,
hobby1 map<string,string>,
hobby2 array<string>,
address struct<country:string,city:string>)
row format delimited
fields terminated by ','
collection items terminated by '-'
map keys terminated by ':' ;
- 准备数据文件
1,唱歌:一般-跳舞:喜欢-游泳:不喜欢,唱歌-跳舞-游泳,USA-New York
2,打游戏:不喜欢-学习:非常喜欢,打游戏-篮球,CHINA-BeiJing
- 将数据文件load到创建的表中
load data