hive 窗口函数(开窗函数)
窗口函数(开窗函数)
窗口函数是高阶函数,分为窗口和函数两个部分,窗口是限定函数的计算范围,函数表示是计算逻辑。
1.窗口函数的语法
基本语法:
函数 + over( [partition by …] [order by …] [窗口子句] )
- over表示开窗,默认窗口大小会包含所有数据。
- partition by表示根据字段再划分一个细窗口,相同字段进入同一个细窗口里面,每个窗口之间相互独立,窗口子句对于每个细窗口独立生效。
- order by表示窗口内按什么排序,如果只有over表示直接最大窗口排序;如果有partition by每个细窗口单独排序。
- 窗口子句,可以进一步限定范围
- (rows | range) between (unbounded | [num]) preceding and ([num] preceding | current row | (unbounded | [num]) following
- (rows | range) between current row and (current row | (unbounded | [num]) following)
- (rows | range) between [num] following and (unbounded | [num]) following
示例:
rows between unbounded preceding and unbounded following
// 行的范围为上无边界到下无边界(第一行到最后一行)。
// 注:窗口函数是一行一行执行的。
2.哪些函数是窗口函数
2.1窗口函数
- lag(col,n,default_val):往前第n行数据。
- lead(col,n, default_val):往后第n行数据。
- first_value (col,true/false):当前窗口下的第一个值,第二个参数为true,跳过空值。
- last_value (col,true/false):当前窗口下的最后一个值,第二个参数为true,跳过空值。
2.2聚合函数
- max:最大值。
- min:最小值。
- sum:求和。
- avg:平均值。
- count:计数。
2.3排名分析函数
- rank:排名相同时会重复,总数不会减少。
- dense_rank:排名相同时会重复,总数会减少。
- row_number:行号。
- ntile:分组并给上组号。
hive 窗口函数(开窗函数)相关推荐
- hive窗口函数(开窗函数)
一.[窗口函数概述] 窗口函数(Window functions)是一种SQL函数,非常适合于数据分析,因此也叫做OLAP函数,其最大特点是:输入值是从SELECT语句的结果集中的一行或多行的&quo ...
- 2021年大数据Hive(七):Hive的开窗函数
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK ...
- 大数据Hive(七):Hive的开窗函数
文章目录 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK,DENSE_RANK 1.数据准备
- Hive SQL开窗函数详解
Hive 开窗函数 group by 是分组函数,一组出来一个数据 over() 开窗,针对每一条数据,都有一个独立的组 mk 3 jk 3 mk 3 select orderdate,cost,su ...
- hive的开窗函数篇
开窗函数over(),over()里面一般可以配合分组,排序,窗口范围三个条件使用,也可以单独用一个条件,格式如over(partition by order by between ... and) ...
- hive 窗口函数--常用函数介绍
文章目录 一.窗口函数概念 二.语法及常用函数 2.1语法 2.2窗口函数的特征 2.3窗口函数的分类 2.3.1排序 2.3.2聚合 2.3.3分析 2.3.4窗口定义 一.窗口函数概念 窗口函数是 ...
- hive sql—开窗函数—累积求和和滑动求和
1.数据介绍 数据集有三列数据,姓名.月份和数量: 图1 2.累积求和 使用sum()函数和over()来实现,如下: sum(需要求和的列) over(partition by 分组列 order ...
- hive中开窗函数 :percent_rank()的含义
这是hql语句 查询结果 percent_rank() 含义就是 当前行-1 / 当前组总行数-1 比如第一行: 1-1/14-1 = 0 : 第二行:2-1/14-1=0.07692,,,,,,
- Hive第六天——Hive函数(开窗函数之累计统计)
本文部分参考自:https://blog.csdn.net/qq_23897391/article/details/100558433 Hive第六天--Hive函数 自己的话:千里之行,始于足下. ...
- hive中的开窗函数
目录 count开窗函数 sum开窗函数 min开窗函数 max开窗函数 avg开窗函数 first_value开窗函数 last_value开窗函数 lag开窗函数.lead开窗函数 cume_di ...
最新文章
- pandas读取csv文件的前几行数据(nrows参数)、pandas读取csv文件的中间几行数据(skiprows=range(a,b))
- 计算机ppt2003考试试题,计算机模块PPT2003试题及答案.doc
- 100M独享带宽香港服务器有多快
- 计算机网络课程设计子网划分,计算机网络实验三 子网掩码与划分子网
- centos7安装mysql5.6.25
- python参数化_Python 中如何实现参数化测试的方法示例
- Mac osx系统中virtual box 中的Ubuntu系统的全屏显示问题解决
- JUnit 5 –条件
- RocketMq单机和集群搭建教程
- 一场由SameSite字段引发的前端悲剧
- java十进制转换成二进制数
- Mathtype公式编辑器常用快捷键
- Computer Hardware ID(CHID)及驱动推送
- Paxos算法(一)—Basic Paxos
- mysql 生成随机手机号和随机中文名
- MX550性能怎么样 mx550 属于什么档次的显卡
- 高级产品经理十八种能力
- 如何改变默认的checkbox样式
- 拼多多100亿的羊毛,就问你薅不薅?
- 基于单片机的秒表计时器系统设计(#0400)
热门文章
- SWAT模型在水文水资源、面源污染模拟中的实践技术应用
- SWAT模型气象数据处理(一)
- roboto字体android,Android字体设置 Roboto字体使用
- Android APP 全局字体替换-思源黑体
- spring - 源码下载与构建
- bp神经网络回归预测模型(python实现)_bp神经网络预测代码python
- SQL SERVER 2000数据库置疑处理
- R语言学习笔记 | R语言的入门
- linux7.4邮件服务器,Centos7.4搭建邮件收发服务器(部署篇)
- 软件工程第二篇博客(“相等”)