Hive-行转列,列转行
collect_set () – 去重collect_list (split(str)) 这两个都是聚合函数 将收集的多行数据聚集成一个数组集合
concat (串,符,串。。。。。)拼接 参数是可变参数 拼接字符串
concat_ws(符,数组/map) 参数一 拼接符 参数二 可变个数的字符串 数组 数据:
建表:
按星座和血型分组,并用concat()将姓名拼接:
结果:
±-------±----------------+
| _c0 | _c1 |
±-------±----------------+
| 处女座,B | [“慧慧”,“奔奔”] |
| 射手座,A | [“老娜”,“taoge”] |
| 白羊座,A | [“gangge”] |
±-------±----------------+
用concat_ws()将拼接得到的数组变成字符串,以此实现姓名从列到行的转换;
数据:
《八佰》 战争
《八佰》 动作
《八佰》 抗日
《八佰》 剧情
《姜子牙》 动画
《姜子牙》 神话
《姜子牙》 科幻
《姜子牙》 动作
《姜子牙》 伦理
《战狼2》 战争
《战狼2》 动作
《战狼2》 灾难
建表:
按电影名分组,并将电影类型从列转行拼接在一起,起个别名categorys
结果:
±-------±----------------+
| name | categorys |
±-------±----------------+
| 《八佰》 | 战争,动作,抗日,剧情 |
| 《姜子牙》 | 动画,神话,科幻,动作,伦理 |
| 《战狼2》 | 战争,动作,灾难 |
±-------±----------------+
创建新表,将转换好的数据导入到新的表中得到基础数据,用以完成 行–> 列的操作
首先将行中电影属性切割存于数组用到split()函数
结果:
±-------±----------------------------+
| name | _c1 |
±-------±----------------------------+
| 《八佰》 | [“战争”,“动作”,“抗日”,“剧情”] |
| 《姜子牙》 | [“动画”,“神话”,“科幻”,“动作”,“伦理”] |
| 《战狼2》 | [“战争”,“动作”,“灾难”] |
±-------±----------------------------+
使用explode()函数完事数组炸裂,将属性categorys由数组–>一列 的操作
结果:
侧窗口函数 类似隐式 join 完成电影名和炸雷开的属性的拼接
转换
select
name ,
tp
from
tb_movie2
lateral view
explode(split(categorys , ‘,’)) t as tp ;-- t 表名 炸开的一列看成一个虚拟表, tp 虚拟表的字段名
上一篇:这群成年人的收藏夹里,到底藏着多少秘密?
下一篇:张继科与景甜哪年在一起的
最近更新人物资讯
- 青年节专题时文精选,1个专题+5篇模板+12篇范文+1个作文合集(角度+金句+精
- 最新质量管理体系基本要求(五篇)
- 赤坂丽颜值巅峰之作,禁忌之爱代表作品-高校教师成熟
- [王仲黎]人茶共生:布朗族茶文化话语中的生态伦理
- 北京文艺日历 06.12~06.18
- 有什么好看的少女漫画推荐?
- 为了孩子陪睡校长,请别拿这电影洗白
- 当贝市场tv版apk下载
- 茉
- BBC评出有史以来美国最伟大的100部电影
- 泰山岱庙古建筑之文化特色初探
- 阴阳五行学说范文
- 2022伦敦大学学院Bartlett建筑学院Part2毕业展
- 观看平凡英雄观后感1000字
- 纽约大都会博物馆(二)古希腊艺术与神话
- 收藏 | 带你穿越500年,看一看这50位著名艺术家
- ab血型女人的性格
- 春节活动策划方案
- 为什么孕妇生产有危险时,部分丈夫和婆婆会选择保小孩?
- 《员工自发管理的儒家修为智慧》
- 菲律宾尺度片的全明星阵容,菲律宾女人质量这么高的吗?
- 文学课 | 韩少功:文学与记忆
- 《人性的污秽》中的伦理道德世界
- 宋惠莲背夫和西门庆幽会后自缢,看透情色表象下的死亡真相
- 秋波多少画(五代词全集)