建表
create table temp.jc_t_test_map_array
(
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'分隔
查看表结构.
desc temp.jc_t_test_map_array;
id int
name string
hobby array<string>
friend map<string,string>
mark struct<math:int,english:int>
插入数据
insert into temp.jc_t_test_map_array
select 2,
'xiaohua',
array('basketball', 'read'),
str_to_map('xiaoming:no,xiaohong:no'),
named_struct('math', 90, 'english', 90);
数据展示
select id,
name,
hobby[0], --查询第一个hobby
friend['xiaohong'], --查询map键为xiaohong的value
mark.math --查询struct中math的值
from temp.jc_t_test_map_array;
![]()