ntile

  • 用于将分组数据按照顺序切分成n片,返回当前记录所在的切片值。
  • 经常用来取前30% 带有百分之多少比例的记录什么的

注意:

NTILE不支持ROWS BETWEEN,比如 NTILE(2) OVER(PARTITION BY id ORDER BY mod_date ROWS BETWEEN 3 PRECEDING AND CURRENT ROW)

实例:

select *,ntile(3) over(partition by id order by mod_date) from t0411;

collect_set

求多行的集合

实例:

select id, mod_date,src,cur,row_number() over(partition by id order by mod_date asc) as num,--使集合有序collect_set(src) over(partition by id order by mod_date asc ) as srcs1,collect_set(cur) over(partition by id ) as srcs2
from db01.t0411

rows

rows函数:
current row:当前行
n PRECEDING:往前n行
n FOLLOWING:往后n行
UNBOUNDED:起点
UNBOUNDED PRECEDING:从前面起点
UNBOUNDED FOLLOWING:到后面终点
LAG(col,n):往前的第n行
LEAD(col,n):往后的第n行

实例1:

-- 计算每个id从开始到当前时间的总的修改次数
-- 参数讲解
-- partition by id:按照id分组
-- order by mod_date:按照日期进行排序
-- UNBOUNDED PRECEDING:从起点开始
-- CURRENT ROW:到当前行
select *,count(id) over(partition by id order by mod_date rows between UNBOUNDED PRECEDING and CURRENT ROW)
from t0411;

实例2:
与collet_set实例效果一样,但更简洁

-- 计算每个id从开始到终点的集合
-- 参数讲解
-- partition by id:按照id分组
-- order by mod_date:按照日期进行排序
-- UNBOUNDED PRECEDING:从起点开始
-- UNBOUNDED FOLLOWING:到终点
select *,collect_set(src) over(partition by id order by mod_date asc rows between UNBOUNDED PRECEDING and CURRENT ROW),collect_set(src) over(partition by id order by mod_date asc rows between UNBOUNDED PRECEDING and UNBOUNDED FOLLOWING)
from t0411;

实例2:

-- 计算相邻三行的值(第一行计算当前行 + 后一行; 最后一行计算当前行 + 前一行)
-- 参数讲解
-- order by mod_date:按照日期进行排序
-- 1 preceding:当前行的前1行
-- 1 following:当前行的后一行
select *,count(id) over(order by mod_date rows between 1 preceding and 1 following)
from t0411;


实例3:

-- 查询顾客修改时间,以及下次修改时间(电商网站常用于求页面跳转的前后时间)
-- 参数详解:
-- partition by name:按照姓名分组
-- order by mod_date:按照时间排序
-- lag(mod_date,1):返回当前mod_date行的前一行
-- lead(mod_date,1):返回当前mod_date行的后一行
select *,lag(mod_date,1) over(partition by id order by mod_date) ,lead(mod_date,1) over(partition by id order by mod_date)
from t0411;


测试数据见另一篇博客

hive窗口函数使用详解相关推荐

  1. Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

    编者按:HDFS和MapReduce是Hadoop的两大核心,除此之外Hbase.Hive这两个核心工具也随着Hadoop发展变得越来越重要.本文作者张震的博文<Thinking in BigD ...

  2. hive linux进程数,控制Hive MAP个数详解

    控制Hive MAP个数详解 Hive的MAP数或者说MAPREDUCE的MAP数是由谁来决定的呢?inputsplit size,那么对于每一个inputsplit size是如何计算出来的,这是做 ...

  3. Thinking in BigData(八)大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解

          纯干货:Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解. 通过这一阶段的调研总结,从内部机理的角度详细分析,HDFS.MapReduce.Hbase.H ...

  4. 图解大数据 | 海量数据库查询-Hive与HBase详解

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  5. [Hive] - Hive参数含义详解

    hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...

  6. hive 数据存储格式详解

    Hive的三种文件格式:TEXTFILE.SEQUENCEFILE.RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCFILE是基于行列混合的思想,先按行把数据 ...

  7. Hadoop Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  8. Hive集成HBase详解

    摘要 Hive提供了与HBase的集成,使得能够在HBase表上使用HQL语句进行查询 插入操作以及进行Join和Union等复杂查询 应用场景 1. 将ETL操作的数据存入HBase 2. HBas ...

  9. Hive JOIN使用详解

    Hive是基于Hadoop平台的,它提供了类似SQL一样的查询语言HQL.有了Hive,如果使用过SQL语言,并且不理解Hadoop MapReduce运行原理,也就无法通过编程来实现MR,但是你仍然 ...

  10. hive之分区表详解

    一 新建分区表 语法: PARTITIONEDBY (col type,col type......) 示例: CREATETABLE order ( oid STRING, otime STRING ...

最新文章

  1. Fragment为什么须要无参构造方法
  2. LeetCode Sort Characters By Frequency
  3. 一次群晖中勒索病毒后的应急响应
  4. 学习Struts--Chap02:Struts2框架各个功能模块和程序执行流程的介绍
  5. App 即时通讯 SDK
  6. VR全景看年评!PConline年度评测盛典等你来体验
  7. lua——赢三张牌型处理相关算法(下)——牌型比较
  8. gradle拷贝静态资源文件_Gradle复制文件/目录方法
  9. python题目训练(随时更新)
  10. java带jar包运行_java带jar包的命令行运行
  11. 消防信号总线原理_消防二总线的构成以及工作原理?
  12. 微信小程序分享小程序码的生成(带参数)以及参数的获取
  13. 【保姆级入门系列】阿ken教你学 Python(五) ——函数
  14. 教师资格证上传照片时显示“内部服务器错误”解决方法(亲测有效)
  15. Jframe任务栏图标隐藏
  16. Unity+NGUI性能优化方法总结
  17. python+selenium设置chrome代理的方式
  18. 火影段位赛服务器响应超时,火影手游,谜一样的跨服积分赛已上线,奖励不到位惹人嫌弃...
  19. inc si指令的作用_8086指令
  20. [kpw] USBNetwork + WinSCP + PublicKey + PrivateKey

热门文章

  1. Visual Studio 2015的破解密钥
  2. VC2010 运行时闪退
  3. 天天生鲜社区团购运营平台
  4. 十大经典排序算法总结
  5. 将java对象转换成json字符串_将java对象转换成json字符串
  6. opengauss数据库常用SQL语句
  7. F12开发者工具自带取色器
  8. 软考——论文写作基本介绍
  9. 技能梳理27@体感机械臂
  10. 《量子保密通信技术白皮书》