行列转换问题

本文详细介绍了Hive中常见的行列转换操作,包括行转列的多行转多列、多行转单列,以及列转行的多列转多行、单列转多行。通过案例展示了使用max(case ... when ... then ... else 0 end)、concat_ws、collect_set、explode和lateral view等函数的用法。
摘要由CSDN通过智能技术生成

Hive典型应用场景之行列转换_zryowen123的博客-CSDN博客

在使用Hive处理数据时,经常遇到行列转换的场景,本文将对Hive的行列转换操作做详细的说明。

行转列##
1)多行转多列
假设数据表
row2col:

col1   col2    col3
a      c       1
a      d       2
a      e       3  
b      c       4
b      d       5
b      e       6


现在要将其转化为:

col1   c      d      e
a      1      2      3
b      4      5      6


此时需要使用到max(case … when … then … else 0 end),仅限于转化的字段为数值类型,且为正值的情况。

HQL语句为

select col1,
max(case col2 when '
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值