横扫SQL面试——流量与转化率分类
横扫SQL面试
在广告、电商、OTA(在线旅游)等业务中,常常需要对实体(如商品、酒店、用户)进行“流量 × 转化”的二维分析。
流量与转化率分类
输出:
思路:
原始数据↓
【打标阶段】→ 计算排名、是否有订单、总数等基础指标↓
【分类阶段】→ 基于规则打标签(高流高转 / 高流低转 / 低流高转)↓
【输出阶段】→ 过滤目标标签,返回结果
优雅:
核心思想:
不要在一行中完成所有逻辑。
把复杂问题拆解为“计算指标”和“应用规则”两个阶段,代码更清晰。
Spark窗口函数:https://spark.apache.org/docs/latest/sql-ref-syntax-qry-select-window.html
给大家贴一个 测试用例,可以在本地跑一下试一下~
CREATE TABLE hotel (id INT,pv INT,cnt INT
);INSERT INTO hotel VALUES
(1, 1000, 100),
(2, 950, 50),
(3, 900, 10),
(4, 800, 0),
(5, 700, 30),
(6, 600, 50),
(7, 500, 10),
(8, 400, 5),
(9, 300, 0),
(10, 200, 20);