hive中laterview explode加row_number() 实现排序功能

最近新参加工作,业务中用到,感觉这个场景应该很多地方用到,主要场景是实现,类似于一个数组的字符串,爆炸开,然后对元素分别标上排名,感觉这个很实用,所以就把当时的思路分享给大家,希望对看到的同学有所帮助,帮忙点个赞!!!

1、表名及数据

test
city     tpye
beijing  aa|aab|cc|ac
shanghai dd|ff|aa

2、要实现的数据

beijing aa 1
beijing aab 2
beijing cc 3
beijing ac 4
shanghai dd 1
shanghai ff 2
shanghai aa 3

3、laterview实现思路

select city,ty 
from test 
laterview explode split(type,'\\|') tp as tp;

4、在上一步的基础上用row_number() over()实现即可

select 
  city,
  ty,
  row_number() over(partition by city)
from 
test2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值