hive的集合数据类型包括三种,分别是Array、Map和Struct
下面分别介绍一下关于集合类型的创建表、插入数据以及查询的方法
1 创建包含有集合数据类型的hive表
create table test_set(
id INT,
name STRING,
hobby ARRAY<STRING>, //array中元素为String类型
friend MAP<STRING,STRING>, //map中键和值均为String类型
mark struct<math:int,english:int> //Struct中元素为Int类型
)
row format delimited fields terminated by ',' //字段之间用','分隔
collection items terminated by '_' //集合中的元素用'_'分隔
map keys terminated by ':' //map中键值对之间用':'分隔
lines terminated by '\n //行之间用'\n'分隔
2 向表test_set中插入数据
1)对于数据量较大,常用的一种方法是通过文件批量导入的方法,比如我现在要将如下的文本中的数据插入到表中
1,xiaoming,basketball_game,xiaoho