Hive炸裂函数explode的使用
发布日期:2021-09-27 12:34:33
浏览次数:1
分类:技术文章
本文共 1746 字,大约阅读时间需要 5 分钟。
explode的作用
将一行集合类型的数据炸裂为多行数据。
格式
lateral view explode(字段) 表别名 as 列别名
如果字段类型是map:lateral view explode(字段) 表别名 as key别名,value别名示例
有如下表数据
+-------------------+----------------------+| movie_info.movie | movie_info.category |+-------------------+----------------------+| 《疑犯追踪》 | 悬疑,动作,科幻,剧情 || 《Lie to me》 | 悬疑,警匪,动作,心理,剧情 || 《战狼2》 | 战争,动作,灾难 |+-------------------+----------------------+
想要的结果:
+--------------+-----------+| m.movie | tbl.type |+--------------+-----------+| 《疑犯追踪》 | 悬疑 || 《疑犯追踪》 | 动作 || 《疑犯追踪》 | 科幻 || 《疑犯追踪》 | 剧情 || 《Lie to me》 | 悬疑 || 《Lie to me》 | 警匪 || 《Lie to me》 | 动作 || 《Lie to me》 | 心理 || 《Lie to me》 | 剧情 || 《战狼2》 | 战争 || 《战狼2》 | 动作 || 《战狼2》 | 灾难 |+--------------+-----------+
select movie,tbl.typefrom movie_infolateral view explode(split(category,',')) tbl as type;
如果想要如下结果:
+-----------+-----------------------------------+| tbl.type | _c1 |+-----------+-----------------------------------+| 剧情 | ["《疑犯追踪》","《Lie to me》"] || 动作 | ["《疑犯追踪》","《Lie to me》","《战狼2》"] || 心理 | ["《Lie to me》"] || 悬疑 | ["《疑犯追踪》","《Lie to me》"] || 战争 | ["《战狼2》"] || 灾难 | ["《战狼2》"] || 科幻 | ["《疑犯追踪》"] || 警匪 | ["《Lie to me》"] |+-----------+-----------------------------------+
这个是列转行的实现,我们可以按照类型分组,然后把电影名放在集合中。
select tbl.type,collect_list(movie)from movie_infolateral view explode(split(category,',')) tbl as typegroup by tbl.type;
转载地址:https://blog.csdn.net/FlatTiger/article/details/113885626 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年03月29日 22时33分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【大话Java面试】-如何通俗易懂的理解Redis的分布式寻址算法hash slot?
2019-04-26
【大话Java面试】-如何通俗易懂的理解单例模式?
2019-04-26
【大话Java面试】请列出Java中几个常用的设计模式?
2019-04-26
【大话Java面试】-如何通俗易懂的理解Java异常以及Java异常处理?
2019-04-26
【大话Mysql面试】-Mysql的索引为什么要使用B+树,而不是B树,红黑树等之类?
2019-04-26
【大话Mysql面试】-如何通俗易懂的了解Mysql的索引最左前缀匹配原则
2019-04-26
【大话Mysql面试】-MYSQL的两种存储引擎MyISAM与InnoDB的区别是什么?
2019-04-26
理解String.intern()和String类常量池疑难解析例子
2019-04-26
python flask打造前后端分离的口罩检测
2019-04-26
【大话Mysql面试】-MySQL基础知识
2019-04-26
【大话Mysql面试】-MySQL数据类型有哪些
2019-04-26
【大话Mysql面试】-MySQL数据引擎
2019-04-26
【大话Mysql面试】-常见SQL语句书写
2019-04-26
【大话Mysql面试】-SQL语句优化
2019-04-26
【大话Mysql面试】-Mysql事务以及隔离级别
2019-04-26
【大话Mysql面试】-Mysql索引
2019-04-26
【大话Mysql面试】-Mysql锁
2019-04-26
【大话Mysql面试】-Mysql常见面试题目
2019-04-26