分享好友 最新动态首页 最新动态分类 切换频道
Hive复杂数据类型与内置函数详解
2024-12-26 21:07
 
 
 

1.1.1列转行

Hive复杂数据类型与内置函数详解

就是把一列数据转化成多行,如下:

 

内嵌插叙

  • explode:展开

列表中的每个元素生成一行

 
  • lateral view:虚拟表

侧视图的意义是配合explode,一个语句生成把单行数据拆解成多行后的数据结果集。

解释:lateral view 会将explode生成的结果放到一个虚拟表中,然后这个虚拟表会和当前表
join,来达到数据聚合的目的。

结构解析:要进行聚合的虚拟表,lateral view explode(字段) 虚拟表名 as 虚拟表字段名

 

统计每个学生的总成绩

 

1.1.2 行转列

就是把多行数据转化成一行数据:

 
  • 准备数据
 
  • collect_set函数

它们都是将分组中的某列转为一个数组返回

 
  • 将数据写成array格式

它们都是将分组中的某列转为一个数组返回

 
  • 将数据写成array格式
 
 

有数据如下:

 

创建map类型的表

 

加载数据

 

Map格式数据查询

 

1.2.1Map列转行

使用上面的数据

explode 展开数据

 

Lateral view

Lateral View和split,explode等一起使用,它能够将一行数据拆成多行数据,并在此基础上对拆分后的数据进行聚合。

 
 
 
 

1.4.1数据准备

 
 
 
 

可以用下面两个命令查看Hive中的函数

 
 

因为Hive的核心功能和海量数据统计分析,而在统计分析时日期时间是一个非常重要的维度,所以日期函数在Hive使用中尤为重要.

 
 
 
 
 
 
 
 
 
 
 
 
  • 默认的数据库的查询都是要么详细记录,要么聚合分析,如果要查询详细记录和聚合数据,必须要经过两次查询
  • 简单的说窗口函数对每条详细记录开一个窗口,进行聚合统计的查询
  • 默认mysql老版本没有支持,在最新的8.0版本中支持, Oracle和Hive中都支持窗口函数

3.2.1 over开窗
使用窗口函数之前一般要通过over()进行开窗,简单可以写成函数+over简单的写法如下:

 

注意

  • 窗口函数是针对每一行数据的
  • 如果over中没有参数,默认的是全部结果集

需求:查询在2018年1月份购买过的顾客购买明细及总人数

 

3.2.2partition by子句

在over窗口中进行分区,对某一列进行分区统计,窗口的大小就是分区的大小
需求:查看顾客的购买明细及月购买总额

 

3.2.3 order by

order by子句会让输入的数据强制排序

 

3.2.4Window子句

 
 

3.3.1 ntile

用于将分组数据按照顺序切分成n片,返回当前切片值

例子

 

3.3.2 lag和lead函数

  • lag返回当前数据行的上一行数据
  • lead放回当前数据行的下一行数据

需求:查询顾客上次购买的时间

 

取得顾客下次购买的时间

 

3.3.3first_value和last_value

  • first_value取分组内排序后,截至到当前行,第一个值
  • last_value 分组内排序后,截至到当前行,最后一个值
 
 
  • row_number从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列
  • rank()生成数据项在分组中的排名,排名相等会在名词中留下空位
  • dense_rank()生成数据项在分组中的排名,排名相等会在名词中不会留下空位
 

准备数据多次的考试成绩

 

需求1:对每次考试按照考试成绩倒序

 

需求2:获取每次考试的排名情况

 

需求3:求每次考试的前三名


最新文章
快乐8农历十一10分区走势图近500期
功能类快乐8显示遗漏:显示/隐藏遗漏值,遗漏值是指自上期开出到本期间隔的期数。快乐8遗漏分层:是将当前遗漏值用柱状图形标注。快乐8分段线:是每五期使用分隔线,使横向导航更加清晰。快乐8显示断区:在分区走势中使用,将开出0个号码的
苹果宝盒手机版免费下载
苹果宝盒手机版APP支持离线下载,用户可以提前下载好自己喜欢的影片,在没有网络的情况下也可以进行观看。根据用户的观看记录,智能推荐相似类型的影片,让用户更加轻松地发现自己喜欢的影片。软件可以帮助用户推荐更多符合自己口味的影片
深圳搜狗SEO,掌握优化方法,助力企业网络营销
随着互联网的快速发展,网络营销已经成为企业拓展市场、提升品牌知名度的重要手段。在众多搜索引擎中,搜狗作为国内领先的搜索引擎之一,拥有庞大的用户群体。因此,深圳企业如何运用搜狗SEO策略,提高网站在搜狗搜索中的排名,成为许多企
讲好孔子故事:70-72篇
70:合议断案孔子处理诉讼案件,会为审理专门组织合议庭,集思广益解决纠纷。甲以为如何,乙以为怎样,他一定让每位“陪审员”都发表自己的意见。之后形成共识,孔子最后做出总结,指出什么措施最符合大家的共识,然后才去执行。71:赦父子
自媒体文章:没有流量了? 掉出了流量池?AI写作也是有很多坑的
我是老熊,我今天给大家分享自媒体和新媒体写作相关的干货和技巧,请大家耐心看完。为什么你的自媒体文章:没有流量了?主要的原因是你踩了很多坑,但是你自己并不知道,导致越写越没流量。踩坑:简介和账号名踩坑、标题党、低质量AI内容、
盛大游戏优化大师怎么样
10楼 华军网友 :下载盛大游戏优化大师中,真心不错!!!9楼 华军网友 :盛大游戏优化大师功能全面,使用也挺方便的。8楼 华军网友 :盛大游戏优化大师整体感觉不错,还是挺满意的7楼 华军网友 :非常好用,感谢,一如既往的好用盛大游戏
连云港师范高等专科学校面向普通高中注册入学招生简章 连云港师范高等专科学校高职提前招生章程
立志愿小编给大家带来了连云港师范高等专科学校面向普通高中注册入学招生简章 连云港师范高等专科学校高职提前招生章程相关文章,一起来看一下吧。1、连云港师范高等专科学校2020年面向普通高中注册入学招生简章2、2022年连云港师范高等专
轻松生成绝美照片,探索AI美女写真制作的乐趣与技巧!
宝子们,你们有没有想过,为什么社交媒体上总是出现那么多美丽的女孩照片?她们是不是都请了专业摄影师?还是用了一些神秘的滤镜?其实,有时答案比我们想象的还要简单——AI技术的发展让我们可以轻松生成超逼真的美女写真。这篇文章将带你
重要通知 | 关于“北京中能建医院小程序”暂停服务的通知
重要通知尊敬的各位患者及家属:您好!感谢您一直以来对北京中能建医院的支持和信任!因系统升级切换,即日起,我院暂停北京中能建医院小程序使用。给您带来不便,我们深表歉意!线上预约可电话拨打010-114根据语音提示预约,或在微信、支
电脑变慢很闹心 重温过去系统优化软件
  随着Win8开发者预览版的出现,又让大家把目光重新聚焦到了微软的系统上。从Windows95、98到现在的XP、Vista、Win7,微软发布的每一款系统都给人们眼前一亮的感觉,而使用的人数更是不用多说。  虽然微软的这些系统人们经常使用,但是
相关文章
推荐文章
发表评论
0评