大数据学习(九)hive中行转列 列转行(都附带例子)

发布于:2022-12-31 ⋅ 阅读:(525) ⋅ 点赞:(0)

一、行转列

在hive中,想进行转列的操作,就必须了解

1.cancat

cancat(string A/col, string B/col…)   返回输入字符串连接后的结果,支持任意个输入字符串

案例:select cancat('abc','def')   输出:abcdef

2.concat_ws

concat_ws(separator, str1, str2,...):第一个参数剩余参数间的分隔符。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间

案例:select concat_ws(‘!’,‘abc’,‘edf’)输出:abc!edf
3. collect_set/collect_list

将分组中的某列转为一个数组返回进行去重汇总,产生array类型字段。需要和group by搭配使用

collect_set 去重 collect_list不去重

案例:

select collect_list(sub)as a from tmp_stu(表名) where dt=‘20220902’ group by stu

原表:

学生stu 学科sub
小明 数学
小张 语文
小明 数学

结果:

学生stu a
小明 [数学,数学}
小张 语文

二、列转行

待更新


网站公告

今日签到

点亮在社区的每一天
去签到