窗口/分析函数

业务场景:

  1. 某个上次购买距现在的时间?? 每次购买时间间隔?
  2. 周环比如何计算?
  3. 怎样得到各区域销售排名前N名商品列表?
  4. 怎样得到各商品销售占品类总销售百分比?
  5. 如何计算个商品累计销售占比?
  6. 如何把销售分成N等份
  7. 大于等于当前订单金额的订单比例有多少?
  8. 每个会员某段时间内最大,最小的订单金额?

原文地址:https://www.cnblogs.com/liuyuanq/p/11277941.html

时间: 2024-10-08 12:23:48

窗口/分析函数的相关文章

我为什么学习hive窗口分析函数

1. 窗口函数 LEAD(column_name, n, default_value),用于统计窗口内往下第n行的值, LAG(column_name, n, default_value),用于统计窗口内往上第n行的值. FIRST_VALUE(column_name),分组窗口排序后,截止到当前行的第一个值: LAST_VALUE(column_name),分组窗口排序后,截止当前航的最后一个值: 2. OVER语句 SUM/COUNT/MIN/MAX/AVG(column_name) OVE

Hive 窗口分析函数

1.窗口函数 1.LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值 第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL) 2.LEAD(col,n,DEFAULT) 用于统计窗口内往下第n行值 第一个参数为列名,第二个参数为往下第n行(可选,默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL) 3.FIRST_VALUE(col,false) 用于统

hive row_number等窗口分析函数

一.排序&去重分析 row_number() over(partititon by col1 order by col2) as rn 结果:1,2,3,4 rank() over(partititon by col1 order by col2) as rk 结果:1,2,2,4,5 dense_rank() over(partititon by col1 order by col2) as ds_rk 结果:1,2,2,3,4 select order_id, departure_date,

二、理解over()函数

1.1.两个order by的执行时机分析函数是在整个sql查询结束后(sql语句中的order by的执行比较特殊)再进行的操作, 也就是说sql语句中的order by也会影响分析函数的执行结果: a) 两者一致:如果sql语句中的order by满足分析函数分析时要求的排序,那么sql语句中的排序将先执行,分析函数在分析时就不必再排序:b) 两者不一致:如果sql语句中的order by不满足分析函数分析时要求的排序,那么sql语句中的排序将最后在分析函数分析结束后执行排序. 1.2.分析

基于hadoop生态圈的数据仓库实践 —— OLAP与数据可视化(三)

三.Impala OLAP实例        本节使用前面销售订单的例子说明如何使用Impala做OLAP类型的查询,以及实际遇到的问题及解决方案.为了处理SCD和行级更新,我们前面的ETL使用了Hive ORCFile格式的表,可惜到目前为止,Impala还不支持ORCFile.用Impala查询ORCFile表时,错误信息如下图所示. 这是一个棘手的问题.如果我们再建一套和dw库中表结构一样的表,但使用Impala能够识别的文件类型,如Parquet,又会引入两个新的问题:一是CDH 5.7

Spark的DataFrame的窗口函数使用

作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 SparkSQL这块儿从1.4开始支持了很多的窗口分析函数,像row_number这些,平时写程序加载数据后用SQLContext 能够很方便实现很多分析和查询,如下 val sqlContext = new SQLContext(sc) sqlContext.sql("select -.") 然而我看到Spark2.0的DataFrame功能很强大,想试试使用这种方式来实现比如ro

使用hive查询把访问网络流量会话化

<Hive编程指南>最后一章的Outbrain案例中,有一个把访问网络流量会话化的简单实现,但按照它的查询出来的结果是错的,于是自己重写了一个. 一.问题提出(摘自书中原文) 为了分析网络流量,我们常常希望能够基于各种各样的标准来测量热度.一种方法就是将用户行为分解到会话中,一次会话代表单一的一次"使用"所包含的一系列操作.一个用户在一天内或者一个月中的某几天可以多次访问某个网站,但每一次访问肯定是不一样的. 那么,什么是一个会话呢?一种定义是指相隔不超过30分钟的一连串的

最新大数据24期 共十天高清视频教程 附课件源码

课程目录: 大数据24期-01-JavaSE基础-15天 第一天: 01.什么是计算机软件02.什么数据软件开发--利用编程语言来写剧本03.什么是jdk--怎么安装jdk03.什么是jdk--怎么安装jdk04.安装启动eclipse04.安装启动eclipse05.配置eclipse的字体和布局06.新建一个java的类的步骤07.第一个java编程作品--HelloWorld08.java中的变量定义和变量赋值语法09.第一个java程序中的知识点梳理--终端输入--终端输出10.第二个j

046 SparlSQL中的函数

一:SparkSQL中的函数 1.说明 2.展示所有的函数 qlContext.sql("show functions").show(300) 3.functions类 所有内置支持的函数. 主要用于DSL语言. 二:窗口分析函数 1.说明 hive中常用的一种分析函数. 2.在Spark中使用beeline sbin/start-thriftserver.sh 3.求每个部门的平均sal值 select deptno,avg(sal) from emp group by deptno