IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据(3g)HIVE滑窗函数应用场景(不定更) -> 正文阅读

[大数据]大数据(3g)HIVE滑窗函数应用场景(不定更)

1、回购周期

创建数据

--删库、建库
DROP DATABASE IF EXISTS trade CASCADE;
CREATE DATABASE trade LOCATION '/trade';
USE trade;
--建表
CREATE TABLE sales(
    ymd  STRING COMMENT "日期",
    name STRING COMMENT "顾客",
    sale INT COMMENT "消费"
) COMMENT "日期用户销量汇总表"
LOCATION '/trade/sales';
--插数据
INSERT INTO TABLE sales VALUES
('2020-01-01', '剑圣', 10),('2020-01-02', '守望者', 15),
('2020-01-04', '守望者', 29),('2020-01-05', '剑圣', 46),
('2020-01-07', '守望者', 50),('2020-01-08', '先知', 62),
('2020-01-08', '剑圣', 55),('2020-02-03', '巫妖', 23),
('2020-03-10', '剑圣', 12),('2020-03-10', '巫妖', 12),
('2020-04-05', '先知', 42),('2020-04-06', '先知', 42),
('2020-04-09', '剑圣', 13),('2020-04-09', '守望者', 68);
SELECT
    name,
    LAG(ymd,1) OVER (PARTITION BY name ORDER BY ymd),
    ymd,
    datediff(ymd,LAG(ymd,1) OVER (PARTITION BY name ORDER BY ymd))
FROM sales;

2、TopN系列

创建数据

--删库、建库
DROP DATABASE IF EXISTS fruit CASCADE;
CREATE DATABASE fruit LOCATION '/fruit';
USE fruit;
--建表
CREATE TABLE sales(
name  STRING  COMMENT "产品",
city  STRING  COMMENT "城市",
sale  INT     COMMENT "销量"
)COMMENT "水果销量表"
LOCATION '/fruit/sales';
--插数据
INSERT INTO TABLE sales VALUES
('椰子','佛山',99),
('雪梨','佛山',77),
('苹果','佛山',88),
('椰子','广州',80),
('雪梨','广州',90),
('苹果','广州',70);

2.1、各地销量Top2

第一步,增加排序列:按城市分区,按销量降序【关键字OVER

SELECT
    city,
    name,
    sale,
    RANK() OVER(PARTITION BY city ORDER BY sale DESC)
FROM sales;

第二步,使用排序列来筛选

SELECT * FROM(
    SELECT
        city,
        name,
        sale,
        RANK() OVER(PARTITION BY city ORDER BY sale DESC)AS r
    FROM sales
)t
WHERE r<=2;

原始数据

第一步结果

第二步结果

2.2、销量前33%

  1. 开窗 并 按销量降序
  2. ntile给数据按比例分组,ntile(3)就是分3组
  3. 前33%可以是分100组取前33,或者分3组取前1
WITH t100 AS (
     SELECT
         city,
         name,
         sale,
         ntile(100) OVER(ORDER BY sale DESC)AS r
     FROM sales
 )
SELECT * FROM t100 WHERE r<=33;

WITH t3 AS (
     SELECT
         city,
         name,
         sale,
         ntile(3) OVER(ORDER BY sale DESC)AS r
     FROM sales
 )
SELECT * FROM t3 WHERE r<=1;

中间结果t3

最终结果

3、运费分摊

https://yellow520.blog.csdn.net/article/details/113790083

4、页面单跳转化率

https://yellow520.blog.csdn.net/article/details/116200798

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-22 13:36:15  更:2021-08-22 13:38:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年10日历 -2024/10/29 4:25:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码