hadoop hive窗口函数求和
聚合函數(shù):例如sum()、avg()、max()等,這類函數(shù)可以將多行數(shù)據(jù)按照規(guī)則聚集為一行,一般來(lái)講聚集后的行數(shù)是要少于聚集前的行數(shù)的。
窗口函數(shù):既能顯示聚集前的數(shù)據(jù),又能顯示聚集后的數(shù)據(jù)。窗口函數(shù)又叫OLAP函數(shù)/分析函數(shù),窗口函數(shù)兼具分組和排序功能。
? 窗口函數(shù)最重要的關(guān)鍵字是 partition by 和 order by。
核心語(yǔ)法:over (partition by xxx order by xxx)
案例【求和】
原始數(shù)據(jù):
--只使用聚合函數(shù)sum來(lái)對(duì)數(shù)據(jù)進(jìn)行操作
select? sum(pv) from itcast_t1;?
結(jié)果如下:
--sum函數(shù)搭配窗口函數(shù)的使用【根據(jù)cookieid分組,根據(jù)createtime排序】
select cookieid,createtime,pv,
sum(pv) over(partition by cookieid order by createtime) as pv1?
from itcast_t1;
結(jié)果:
--此時(shí)sum聚合:默認(rèn)是第一行到當(dāng)前行聚合
--還可以通過(guò)window子句 來(lái)控制聚合的行的范圍:rows between含義,也叫做window子句
--除了sum之外 avg max min都可以配合窗口函數(shù)使用
總結(jié)
以上是生活随笔為你收集整理的hadoop hive窗口函数求和的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PS插件的作用
- 下一篇: 思科模拟器实验7:OSPF配置命令