首页 > 数据库 >Hive sql 6:行转列及列转行

Hive sql 6:行转列及列转行

时间:2024-09-19 19:19:25浏览次数:3  
标签:09 及列 Hive 转列 user date login id select

1) 多行转单列

user_idlogin_date
10012024-09-01
10012024-09-02
10022024-09-03
10032024-09-05

比较常见的

select user_id,concat_ws(',',collect_list(login_date)) login_date_set
from tbl
group by user_id

延伸下,集合中保证日期的有序

启动多个mr,顺序会有问题

1) 以前做项目中有用到,这是通用的解法

     a. 按指定顺序排序,用rn拼下,做前缀

     b. 用sort_array

     c.在regexp_replace用替换,'\\d+\:'

 2) 熟悉mr的原理,用第2种

DISTRIBUTE BY  确保相同 key 值的行到同一个reducer, SORT BY 内部重新排序

select user_id,concat_ws(',',collect_list(login_date)) login_date_set
from 
( select 
  from 
(
  select  user_id
          ,login_date
    from tbl
order by login_date asc
) 
distribute by user_id 
sort by login_date asc
)
group by user_id

 2) 多列转多行

chinesemathenglish
908099
select subject 
       ,score 
from (
	select str_to_map(concat('math',:,math,'chinese',':',chinese,'english',':',english)) as res
	from tbl_detail
)t later view explode(t.res) tmp as subject,score

标签:09,及列,Hive,转列,user,date,login,id,select
From: https://blog.csdn.net/2402_86289011/article/details/142306517

相关文章

  • 怎么办?用DolphinScheduler调度执行复杂的HiveSQL时无法正确识别符号
    在使用ApacheDolphinScheduler调度执行复杂的HiveSQL时,HQL包含多种海豚无法正确识别的符号,怎么办?本文提供了可行的思路和方法,供用户参考。一、目的在Hive中完成复杂JSON,既有对象还有数组而且数组中包含数组的解析后,原本以为没啥问题了,结果在DolphinScheduler中调度又出现了大问......
  • 易优eyoucms网站安装时数据库提示写入表ey_archives记录失败,请刷新重试
    遇到安装时数据库提示“写入表 ey_archives 记录失败,请刷新重试”的问题,可能是由于多种原因导致的,包括数据库连接问题、权限问题、数据冲突等。以下是详细的解决步骤:解决步骤清空数据库重新安装切换数据库版本手动导入数据库1.清空数据库首先尝试清空数据库,确保数据库......
  • 怎么办?用DolphinScheduler调度执行复杂的HiveSQL时无法正确识别符号
    在使用ApacheDolphinScheduler调度执行复杂的HiveSQL时,HQL包含多种海豚无法正确识别的符号,怎么办?本文提供了可行的思路和方法,供用户参考。一、目的在Hive中完成复杂JSON,既有对象还有数组而且数组中包含数组的解析后,原本以为没啥问题了,结果在DolphinScheduler中调度又出现了大问......
  • 易优cms网站安装时数据库提示写入表ey_archives记录失败,请刷新重试
    当您在安装易优CMS时遇到“安装时数据库提示写入表ey_archives记录失败,请刷新重试”的问题时,可以尝试以下几种方法来解决:解决步骤清空数据库重新安装切换数据库版本直接导入数据库详细步骤1.清空数据库登录数据库管理工具:使用数据库管理工具(如phpMyAdmin、MySQLWo......
  • 最终版本的pom.xml(springboot连接hive)
    1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://maven.apa......
  • springboot连接hive数据库的依赖配置
    pom.xml1<?xmlversion="1.0"encoding="UTF-8"?>2<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"3xsi:schemaLocation="http://......
  • 六种主流ETL工具的比较与Kettle的实践练习指南--MySQL、hive、hdfs等之间的数据迁移
            在数据集成和数据仓库建设中,ETL(Extract,Transform,Load)工具扮演着至关重要的角色。本文将对六种主流ETL工具进行比较,并深入探讨Kettle的实践应用。一、六种主流ETL工具比较1.DataPipeline设计及架构:专为超大数据量、高度复杂的数据链路设计的灵活、可扩......
  • 中级练习[11]:Hive SQL
    目录1.查询有新注册用户的当天的新用户数量、新用户的第一天留存率1.1题目需求1.2代码实现2.求出商品连续售卖的时间区间2.1题目需求2.2代码实现3.登录次数及交易次数统计3.1题目需求3.2代码实现1.查询有新注册用户的当天的新用户数量、新用户的第一天留......
  • 中级练习[12]:Hive SQL
    目录1.按年度列出每个商品销售总额1.1题目需求1.2代码实现2.某周内每件商品每天销售情况2.1题目需求2.2代码实现3.查看每件商品的售价涨幅情况3.1题目需求3.2代码实现1.按年度列出每个商品销售总额1.1题目需求从订单明细表(order_detail)中列出每个商品......
  • 计算机毕业设计Flink+Hadoop广告推荐系统 广告预测 广告数据分析可视化 广告爬虫 大数
    《Flink+Hadoop广告推荐系统》开题报告一、项目背景与意义随着互联网技术的飞速发展和数据量的爆炸性增长,广告推荐系统已成为互联网企业提升用户体验和增加收益的重要手段。传统的广告推荐系统往往面临计算效率低、实时性差、推荐精度不足等问题,难以满足当前复杂多变的业务需......