Hive/Mysql/Presto Sql语句差异

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  

  

猜你喜欢

转载自www.cnblogs.com/wwbz/p/11132804.html