当前位置: 首页 > news >正文

为了 门户网站建设推广普通话海报

为了 门户网站建设,推广普通话海报,湘潭做网站价格 d磐石网络,免费建站网站一级 熟熟俱乐 一级夫妇性活 五月天噪综合Hive窗口函数 其他函数: Hive—Hive函数 文章目录Hive窗口函数开窗数据准备建表导入数据聚合函数window子句LAG(col,n,default_val) 往前第 n 行数据LEAD(col,n, default_val) 往后第 n 行数据ROW_NUMBER() 会根据顺序计算RANK() 排序相同时会重复,总数不会变DENSE…

Hive窗口函数

其他函数: Hive—Hive函数


文章目录

  • Hive窗口函数
  • 开窗
  • 数据准备
  • 建表
    • 导入数据
    • 聚合函数
    • window子句
    • LAG(col,n,default_val) 往前第 n 行数据
    • LEAD(col,n, default_val) 往后第 n 行数据
    • ROW_NUMBER() 会根据顺序计算
    • RANK() 排序相同时会重复,总数不会变
    • DENSE_RANK() 排序相同时会重复,总数会减少
    • first_value取分组内排序后,截止到当前行,第一个值
    • last_value取分组内排序后,截止到当前行,最后一个值
    • NTILE(n) 数据切片函数


开窗

又称开窗函数

OVER():指定分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变而变化

数据准备

字段为 name,orderdata,cost

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

建表

----建表------
create table if not exists t_window(name string,orderdate date,cost int
)

导入数据

原始数据的已经上传到hdfs上

load data inpath '/order.csv' into table  t_window;# 查看数据
select * from t_window;

在这里插入图片描述

聚合函数

常见聚合函数(count(),sum(),max(),min(),avg()……)

---全表数据cost的总和
select name,orderdate,cost,sum(cost) over () from t_window;

在这里插入图片描述

window子句

UNBOUNDED 起点
CURRENT ROW 当前行
n PRECEDING 往前 n 行数据
n FOLLOWING 往后 n 行数据
UNBOUNDED PRECEDING 表示从前面的起点
UNBOUNDED FOLLOWING 表示到后面的终点
select name,orderdate,cost,sum(cost) over (partition by name order by orderdate rows between unbounded preceding and unbounded following) as row1,---个人累计消费总和sum(cost) over(partition by name order by orderdate) as row2,--个人截止到当前时间的消费总和sum(cost) over(partition by name order by orderdate rows between unbounded preceding and current row ) as row3,--个人截止到当前时间的消费总和sum(cost) over(partition by name order by orderdate rows between 1 preceding and current row ) as row4,---当前消费额与上一次消费额的总和sum(cost) over(partition by name order by orderdate rows between 1 preceding and 1 following ) as row5, --前行和前边一行及后面一行sum(cost) over(partition by name order by orderdate rows between current row and UNBOUNDED FOLLOWING ) as row6,--当前行及后面所有行sum(cost) over(partition by name order by orderdate rows between current row and 3 following) as row7 --当前消费与后三次的消费总额
from t_window;

在这里插入图片描述

LAG(col,n,default_val) 往前第 n 行数据

分区内滞后当前行的参数值

select name,orderdate,cost,-----前一个日期lag(orderdate,1,'1990-01-01') over (partition by name order by orderdate) as row1
from t_window;

在这里插入图片描述

LEAD(col,n, default_val) 往后第 n 行数据

分区内当前行前导行的参数值

select name,orderdate,cost,----后一个日期lead(orderdate,1,'1990-01-01') over (partition by name order by orderdate) as row2
from t_window;

在这里插入图片描述

ROW_NUMBER() 会根据顺序计算

row_number()从1开始,按照顺序,生成分组内记录的序列,row_number()的值不会存在重复,当排序的值相同时,按照表中记录的顺序进行排列

---根据名字分区,消费金额降序排序
select name,orderdate,cost,row_number() over (partition by name order by cost desc ) as row1
from t_window;

在这里插入图片描述

RANK() 排序相同时会重复,总数不会变

rank() 生成数据项在分组中的排名,排名相等会在名次中留下空位

select name,orderdate,cost,rank() over (partition by name order by cost desc )as row2
from t_window;

在这里插入图片描述

DENSE_RANK() 排序相同时会重复,总数会减少

dense_rank() 生成数据项在分组中的排名,排名相等会在名次中不会留下空位

select name,orderdate,cost,dense_rank() over (partition by name order by cost desc )as row3
from t_window;

在这里插入图片描述

first_value取分组内排序后,截止到当前行,第一个值

select name,orderdate,cost--------按名字分区,查询第一笔消费的时间与所有时间对比(有需求查询员工的入职时间,与此类似),first_value(orderdate)over (partition by name order by orderdate)as time1
from t_window;

在这里插入图片描述

last_value取分组内排序后,截止到当前行,最后一个值

select name,orderdate,cost--------按名字分区,查询当前行的最后一个时间,last_value(orderdate)over (partition by name order by orderdate)as time2
from t_window;

在这里插入图片描述

NTILE(n) 数据切片函数

把有序窗口的行分发到指定数据的组中,各个组有编号,编号从 1 开始,对于每一行,NTILE 返回此行所属的组的编号
注意:n 必须为 int 类型

select name,orderdate,cost,ntile(3) over() as row1---把数据分成三份
from t_window;

在这里插入图片描述

select name,orderdate,cost,ntile(3) over(partition by name)as row2---按名字分组 切片成三份
from t_window;

在这里插入图片描述

http://www.ds6.com.cn/news/45380.html

相关文章:

  • 个人可做网站需要什么材料seo文章
  • 做微信网站多少钱重庆关键词优化
  • 旅游网站专业化建设的要点北京百度快速优化排名
  • 郑州市做网站公司优化方案电子版
  • 有什么网站交互做的很好 知乎百度一下首页问问
  • 如何建电子商务网站百度上看了不健康的内容犯法吗
  • 建设厅官方网站seo主管招聘
  • 做网站和编程序品牌推广计划书怎么写
  • 电器网站建设策划书网站运营怎么做
  • 成华区微信网站建设网络建站
  • 专业做球赛旅游的网站电商seo搜索引擎优化
  • 做网站推广产品百度竞价怎么做
  • 做网站怎么宣传重庆seo多少钱
  • 枣庄做网站企业网站推广效果指标分析
  • 网站优化三要素深圳外贸网络推广
  • win wordpress运行环境seo的内容怎么优化
  • 网页模板下载好后怎么用湖南有实力seo优化哪家好
  • 网站页面用什么软件做网页设计模板
  • 做企业网站可以没有后台吗sem与seo
  • 桥西网站建设指数网站
  • 空间网址黑龙江seo关键词优化工具
  • 网站开发翻译功能抖音怎么运营和引流
  • 惠山区住房和建设厅网站网络营销推广活动
  • 奇信建设集团官方网站性价比高seo排名
  • 做宣传单找素材去什么网站比较好nba今日数据
  • 百度百科搜索入口百度网站优化公司
  • 网站改版建设方案做营销策划的公司
  • 遵化建行网站网络服务有限公司
  • 织梦网站数据库备份文件夹sem外包
  • wordpress 文档管理系统有没有免费的seo网站