我是靠谱客的博主 谦让翅膀,最近开发中收集的这篇文章主要介绍我与Hive的不解之谜系列(四):行转列和列转行本篇内容前言行转列列转行,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

本篇内容

1、行转列

2、列转行

前言

行转列

准备数据

SQL实现

列转行

SQL实现


本篇内容

1、行转列

2、列转行

前言

SQL之行转列及列转行一直是面试题热点,在实践工作中也用的很多,掌握列转行和行转列势在必行。

行转列

准备数据

《八佰》    战争
《八佰》    动作
《八佰》    抗日
《八佰》    剧情
《姜子牙》    动画
《姜子牙》    神话
《姜子牙》    科幻
《姜子牙》    动作
《姜子牙》    伦理
《战狼2》    战争
《战狼2》    动作
《战狼2》    灾难

需要实现:

《八佰》    战争,动作,抗日,剧情
《姜子牙》     动画,神话,科幻,动作,伦理
《战狼2》    战争,动作,灾难

SQL实现

select name,

concat_ws(",",collect_list(typ)) as category

from tb_movie

group by name;

执行结果

列转行

有数据

《八佰》    战争,动作,抗日,剧情
《姜子牙》     动画,神话,科幻,动作,伦理
《战狼2》    战争,动作,灾难

转化为

《八佰》    战争
《八佰》    动作
《八佰》    抗日
《八佰》    剧情
《姜子牙》    动画
《姜子牙》    神话
《姜子牙》    科幻
《姜子牙》    动作
《姜子牙》    伦理
《战狼2》    战争
《战狼2》    动作
《战狼2》    灾难

SQL实现

select name,tp

from tb_movie2

lateral view

explode(split(categorys,',')) t as tp;

更多学习、面试资料尽在微信公众号:Hadoop大数据开发

最后

以上就是谦让翅膀为你收集整理的我与Hive的不解之谜系列(四):行转列和列转行本篇内容前言行转列列转行的全部内容,希望文章能够帮你解决我与Hive的不解之谜系列(四):行转列和列转行本篇内容前言行转列列转行所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部