1、lateral view 将一列数据拆成多行数据
myhive | |
id | list |
zhangsan | ["1","2","3","4"] |
lisi | ["1","2","3","4"] |
select id, lisa_a from myhive lateral view explode(list) a as lisa_a
2、collect_set
collect_set 是 Hive 内置的一个聚合函数, 它将某字段的值进行去重汇总, 其返回值类型是 array
3、explode
select * from people_movie; OK A {"ABC":"2016-05","EFG":"2016-09"} B {"OPQ":"2015-06","XYZ":"2016-04"} A {"ABC":"2016-05","EFG":"2016-09"} B {"OPQ":"2015-06","XYZ":"2016-04"}
使用explode关键字查询
扫描二维码关注公众号,回复:
6724564 查看本文章
select explode(movie) as (m_name,m_time) from people_movie; OK ABC 2016-05 EFG 2016-09 OPQ 2015-06 XYZ 2016-04 ABC 2016-05 EFG 2016-09 OPQ 2015-06 XYZ 2016-04