Hive窗口函数经典案例(保姆级案例)
建表:
create table t_window(name string,orderdate date,cost int
)
row format delimited fields terminated by ',';
order.csv 文件
jack,2015-01-01,10
tony,2015-01-02,15
jack,2015-02-03,23
tony,2015-01-04,29
jack,2015-01-05,46
jack,2015-04-06,42
tony,2015-01-07,50
jack,2015-01-08,55
mart,2015-04-08,62
mart,2015-04-09,68
neil,2015-05-10,12
mart,2015-04-11,75
neil,2015-06-12,80
mart,2015-04-13,94
load data local inpath '/opt/tmp/order.csv' into table t_window;
窗口函数操作:
1、查询2015-04月购买的人和人数
select distinct name,count(*) over() from t_window where substring(orderdate,1,7)='2015-04';
2、显示购买的总金额
select name,orderdate,cost,sum(cost) over() from t_window;
3、显示月份的总金额
select name,orderdate,cost,sum(cost) over(partition by month(orderdate)) from t_window;
4、综合练习
select name,orderdate,cost,
sum(cost) over() as sample1,--所有行相加
sum(cost) over(partition by name) as sample2,--按name分组,组内数据相加
sum(cost) over(partition by name order by orderdate) as sample3,--按name分组,组内数据累加
sum(cost) over(partition by name order by orderdate rows between UNBOUNDED PRECEDING and current row ) as sample4 ,--和sample3一样,由起点到当前行的聚合
sum(cost) over(partition by name order by orderdate rows between 1 PRECEDING and current row) as sample5, --当前行和前面一行做聚合
sum(cost) over(partition by name order by orderdate rows between 1 PRECEDING AND 1 FOLLOWING ) as sample6,--当前行和前边一行及后面一行
sum(cost) over(partition by name order by orderdate rows between current row and UNBOUNDED FOLLOWING ) as sample7 --当前行及后面所有行
from t_window;
5、ntile函数(分组处理)(执行的话建议单个拎出来执行)
select name,orderdate,cost,ntile(3) over() as sample1,
ntile(3) over(partition by name) as simple2,
ntile(2) over(partition by month(orderdate)) as simple3,
ntile(3) over(partition by name order by cost desc) as simple4
from t_window;
6、rank函数(排名)
select name,orderdate,cost,row_number() over() as r1,
row_number() over(order by name) as r2,
rank() over(order by name) as r3,
DENSE_RANK () over(order by name) as r4
from t_window;
7、lag和lead函数
select name,orderdate,cost,
lag(orderdate,1) over(partition by name order by orderdate) as sample1,
lag(orderdate,1,'1999-10-02') over(partition by name order by orderdate) as sample2,
lead(orderdate,1,'1999-10-02') over(partition by name order by orderdate) as sample3
from t_window;
8、first_value和last_value函数
select name,orderdate,cost,first_value(orderdate) over(partition by name order by orderdate) as time,
last_value(orderdate) over(partition by name order by orderdate) as time
from t_window;
Hive窗口函数经典案例(保姆级案例)相关推荐
- Vue+i18n多语言动态设置(保姆级案例教程)
效果
- Hive环境搭建(保姆级教程)
目录 一.Hive简介 二. Hive环境安装 1. 准备工作 1)安装Hadoop 2)安装MariaDB (1)查看MariaDB安装情况 (2)卸载MariaDB/MySQL (3)安装Mari ...
- vue项目 乐橙云(imouplayer.js)--轻应用直播SDK demo案例(保姆级)
vue项目 乐橙云(imouplayer.js)--轻应用直播SDK demo测试案例(保姆级) 一.所用到的资源(参数) 1.appId (控制台-我的应用-应用信息中获取) 2.appSecret ...
- 【预告中】ESP 保姆级教程 疯狂点灯篇 —— 案例:ESP8266 + LED + 按键 + OneNet物联网平台 + Web应用
快速导读 1.项目说明 2.项目准备 2.1 软件准备 2.2 硬件准备 2.2.1 硬件材料 2.2.2 硬件连线 3.项目细节 3.1 设备端代码 3.2 设备端代码细节过程 4.项目结果 手把手 ...
- 动态规划27k字超详细保姆级入门讲解——附DP经典线性、区间、二维图、四维8个模型题解
动态规划27k字超详细保姆级入门讲解 写在前面: 这篇文章是目前为止我写过最长也是最久的文章,前面关于DP的讲解我查阅了大量的博客资料,学习其他博主对DP的理解,也翻阅了很多经典的纸质书籍,同时做了近 ...
- 计算机科学技术中的优秀案例,2014级计算机科学与技术专业ppt 大赛活动案例.doc...
2014级计算机科学与技术专业ppt 大赛活动案例 2014级计算机科学与技术专业PPT 大赛活动方案 一.竞赛目的 大一新生PPT 设计大赛,旨在巩固理论知识掌握的同时,给学生提供一个展示自己的平台 ...
- 全球7大经典火车地铁营销案例
火车,地铁等人流量庞大的铁路系统,是很多商家青睐的营销平台.今天将带领大家领略全球十大经典的铁路营销案例,各种"开挂"方式绝对超乎你的想象! [日本宜家 这列地铁被我承包了] 近日 ...
- 图解大数据 | Hive搭建与应用@实操案例
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...
- SQL经典50查询语句案例_4(4、查询姓“李”的老师的个数)
SQL经典50查询语句案例_4: 4.查询姓"李"的老师的个数: SELECT COUNT(Tname) FROM teacher WHERE Tname LIKE '李%' 在M ...
- Hive(三、0)案例之视频网站指标
Hive(三.0)案例之视频网站常规指标@你宝爷 一.前期准备 1.0.打开集群&服务&客户端 #1)注释掉配置文件内容,这样就不用开启metastore服务啦vim $HIVE_HO ...
最新文章
- vue-cli#2.0项目结构分析
- 微信小程序:一把瑞士军刀
- mysql 中文字符排序规则_mysql中字符集和排序规则说明
- python中加等是什么意思_Python创建类的时候,加()和不加有什么区别、联系?
- Madagascar编程的Makefile文件配置
- 《实施Cisco统一通信管理器(CIPT1)》一2.2 CUCM:单站点部署模型
- Linux嵌入式开发_修改镜像文件输出路径
- 品鉴B500:艺术对技术无乐不作的反击
- 电脑只有一个c盘怎么办_新买的电脑,拿到手只有一个C盘,如何分成两个盘
- NRF52832 SDK 14.0.0设置内部32768
- 修改IAR for msp430工程名方法
- 笔试必备,行测图形推理
- io.fabric8.docker-maven-plugin插件使用
- Ocean Chain: 海洋渔业的价值连接器?
- donald knuth --图灵奖获奖者
- oracle 幻影读,索引+事务
- CentOS7安装json格式化工具jq
- 基于web的医院预约系统的设计与实现(JavaSSM)
- 基于java的围棋游戏设计-计算机毕业设计
- 对话机器人之Sparrow