摘要:本文主要向大家介绍了【云计算】Hive|用sort_array函数解决collet_list列表排序混乱问题,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
本文主要向大家介绍了【云计算】Hive|用sort_array函数解决collet_list列表排序混乱问题,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。
由collect_list形成的列表经过concat_ws拼接后顺序具有随机性,要保证列表有序只需要在生成列表后使用sort_array函数进行排序即可,示例如下:
SELECT memberid, regexp_replace( concat_ws('-', sort_array( collect_list( concat_ws(':',cast(legcount as string),airways) ) ) ),'\\d\:','') hs from ( select 1 as memberid,'A' as airways,2 as legcount union ALL select 1 as memberid,'B' as airways,3 as legcount union ALL select 1 as memberid,'C' as airways,4 as legcount union ALL select 1 as memberid,'D' as airways,1 as legcount union ALL select 1 as memberid,'E' as airways,8 as legcount ) as t group by memberid
构造数据(memberid为会员ID,airway为会员预定机票选择的航司,legcount为下单航段)
memberid | airways | legcount |
---|---|---|
1 | A | 2 |
1 | B | 3 |
1 | C | 4 |
1 | D | 1 |
1 | E | 8 |
运行结果:
memberid | hs |
---|---|
1 | D-A-B-C-E |
sort_array好像不能降序排列,如果要倒序排的话在子查询里新增一个辅助列来排序即可。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号
ICP许可 沪B2-20190160