Hive中行列转换具体实现及应用

[复制链接]
发表于 2023-3-4 22:09:42 | 显示全部楼层 |阅读模式
1、工作应用场景

统计得到每个小时的UV、PV、IP的个数,构建如下表结构:

 
 
 但是表中数据的存储格式不利于直接查询展示,需要进行调整:(以时间分区,去重、聚合等……对结果进行行列转换)

 
 
 
2、行转列

  (1)多行转多列


 
 case when函数
功能用于实现对数据的判断,根据条件,不同的情况返回不同的结果,类似于java中的switch case功能
语法:
  语法一:
      CASE
      WHEN 条件1 THEN VALUE1
      ……
      WHEN 条件N THEN VALUEN
      ELSE 默认值 END
  语法二:
      CASE 列
      WHEN V1 THEN VALUE1
      ……
      WHEN VN THEN VALUEN
      ELSE 默认值 END
 

 
 
 
 
  (2)多行转单列


 
可以指定分隔符的字符串拼接函数:concat_wa只支持string、array[string]
 
 
 收集函数:

 
 
 
 
 
 
3、列转行

  (1)多列转多行


 
 
 
 
 
 
 
 
  (2)单列转多行


 
 
 
 
 
 lateral view 侧视图
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-22 02:08 , Processed in 0.086181 second(s), 30 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表