美文网首页jouypub.com
Hive之行转列/列转行

Hive之行转列/列转行

作者: JouyPub | 来源:发表于2018-08-04 12:25 被阅读0次

1、行转列

场景:在hive表中,一个用户会有多个人群标签,List格式(逗号分隔如要转成List),有时我们需要统计一个人群标签下有少用户,这是就需要使用行转列了

例如,user_crowd_info有如下数据

visit_id    crowds
abc         [100,101,102]
def         [100,101]
abe         [101,105]

可以使用的函数

select explode(crowds) as crowd from user_crowd_info;

结果:
100
101
102
100
101
101
105

这样执行的结果只有crowd, 但是我们需要完整的信息,使用select visit_id, explode(crowds) as crowd from user_crowd_info;是不对的,会报错UDTF's are not supported outside the SELECT clause, nor nested in expressions

所以我们需要这样做:

select visit_id,crowd 
from user_crowd_info t lateral view explode(t.crowds) adtable as crowd;

2、列转行

使用concat_ws函数即可

select visit_id,concat_ws(,crowd) from user_crowd_info group by visit_id;

相关文章

  • Hive之行转列/列转行

    1、行转列 场景:在hive表中,一个用户会有多个人群标签,List格式(逗号分隔如要转成List),有时我们需要...

  • sql中列转行unpivot、行转列pivot详细讲解||Mys

    目录:一、sqlserver列转行、行转列详解二、Oracle列转行、行转列详解三、DB2列转行、行转列详解四、M...

  • hive 行转列 列转行

    列转行 数据分析时需要行中的数据拆成多列,则需要用到:1,lateral view2,explode原始表tabl...

  • hive行转列,列转行

    难点,加强

  • hive之行转列与列转行的实现

    一:前言 在某些场景下比如报表的产出,为了更加易于理解,往往会行列互置这样显示,又或者我们需要将某个相同键的值,所...

  • Hive "行转列"和"列转行"

    在HIVE实际开发过程中,我们会遇到“行转列”和“列转行”的场景。比如: 1、需要取“订单号”对应的所有商品“SK...

  • Hive行转列与列转行

    行转列 定义:多行转多列或者多行转一列 原始数据如下: 姓名科目分数小明语文90小明数学98小明英语95小红语文9...

  • mysql开发技巧笔记

    行转列 结果 使用 SUM 进行 行转列 列转行 应用场景 属性拆分 etl数据处理 1. 利用序列表处理列转行的...

  • Hive的几个复杂情况

    行转列与列转行: https://blog.csdn.net/jx_870915876/article/detai...

  • SQL行列转换

    行转列1.1、case when1.2、内置函数pivot 列转行2.1、unpivot2.2、union实现

网友评论

    本文标题:Hive之行转列/列转行

    本文链接:https://www.haomeiwen.com/subject/ssxmvftx.html