美文网首页大数据开发
[各分类商品购物车存量Top10] Spark 指标实战(7)

[各分类商品购物车存量Top10] Spark 指标实战(7)

作者: 坨坨的大数据 | 来源:发表于2022-02-26 08:57 被阅读0次

需求

各分类商品购物车存量Top10

前提

今天是 2020-06-14

建表语句

CREATE EXTERNAL TABLE ads_sku_cart_num_top10_by_cate
(
    `dt`             STRING COMMENT '统计日期',
    `category1_id`   STRING COMMENT '一级分类ID',
    `category1_name` STRING COMMENT '一级分类名称',
    `category2_id`   STRING COMMENT '二级分类ID',
    `category2_name` STRING COMMENT '二级分类名称',
    `category3_id`   STRING COMMENT '三级分类ID',
    `category3_name` STRING COMMENT '三级分类名称',
    `sku_id`         STRING COMMENT '商品id',
    `sku_name`       STRING COMMENT '商品名称',
    `cart_num`       BIGINT COMMENT '购物车中商品数量',
    `rk`             BIGINT COMMENT '排名'
) COMMENT '各分类商品购物车存量Top10'

完整sql

insert overwrite table ads_sku_cart_num_top10_by_cate
select * from ads_sku_cart_num_top10_by_cate
union
select
        '2020-06-14' dt,
       category1_id,
       category1_name,
       category2_id,
       category2_name,
       category3_id,
       category3_name,
       sku_id,
       sku_name,
       cart_num,
       rk
from (
         select category1_id,
                category1_name,
                category2_id,
                category2_name,
                category3_id,
                category3_name,
                sku_id,
                sku_name,
                cart_num,
                -- 计算当前的sku_id在同一个三级分类中的排名
                row_number() over (partition by category3_id order by cart_num desc) rk
         from (
                  select sku_id,
                         -- 所有用户购物车中添加的此种商品的数量累加
                         sum(sku_num) cart_num
-- 一个用户购物车中的一个sku是一行
                  from dwd_trade_cart_full
-- 只统计当天用户购物车中的存量信息
                  where dt = '2020-06-14'
                  group by sku_id
              ) t1
                  left join
              (
                  select id,
                         category1_id,
                         category1_name,
                         category2_id,
                         category2_name,
                         category3_id,
                         category3_name,
                         sku_name
                  from dim_sku_full
                  where dt = '2020-06-14'
              ) t2
              on t1.sku_id = t2.id
     ) t3
where rk <= 10;

步骤

只讨论 三级分类

  1. 查询一天
 select
              1 recent_days,category1_id, category1_name, category2_id,category2_name, category3_id,category3_name,
               sum(order_count_1d) order_count,
               count(distinct user_id) order_user_count
        -- 一个用户在一天下单的一个商品是一行
        from dws_trade_user_sku_order_1d
        where dt='2020-06-14'
        group by category1_id, category1_name, category2_id,category2_name, category3_id,category3_name

步骤

  1. 统计当天用户购物车中的存量信息,根据某个商品,统计其在购物车中的数量
    A表:
select sku_id,
  -- 所有用户购物车中添加的此种商品的数量累加
  sum(sku_num) cart_num
-- 一个用户购物车中的一个sku是一行
from dwd_trade_cart_full
-- 只统计当天用户购物车中的存量信息
where dt = '2020-06-14'
group by sku_id
  1. 获取商品 品类信息
    B表:
select id,
           category1_id,
           category1_name,
           category2_id,
           category2_name,
           category3_id,
           category3_name,
           sku_name
from dim_sku_full
where dt = '2020-06-14'

  1. 左关联,运用 开窗函数 进行排序
    C表
select
...
row_number() over (partition by category3_id order by cart_num desc) rk   ---- 排名
from A
left join B 
on  A.sku_id = B.id
  1. 从 C表中 取到 前10
select
       ...
       rk -- 排名
from   C
where rk <= 10;

相关文章

  • [各分类商品购物车存量Top10] Spark 指标实战(7)

    需求 各分类商品购物车存量Top10 前提 今天是 2020-06-14 建表语句 完整sql 步骤 只讨论 三级...

  • [各品牌商品交易统计] Spark 指标实战(6)

    需求-各品牌商品交易统计 统计周期统计粒度指标最近1、7、30日品牌订单数最近1、7、30日品牌订单人数最近1、7...

  • 8.购物车管理

    购物车管理模块是属于用户侧模块,主要有7个接口:添加商品到购物车、更新购物车商品数、移除购物车商品、查看购物车当中...

  • Android端 仿饿了么点餐页面

    已实现的功能 * 顶部嵌套滑动逻辑 * 分类和商品级联定位 * 添加购物车动画 * 购物车弹窗 * 点击商品后的上...

  • Marketplace Api Router

    分类 Category 商品 Product 购物车 Shopping Cart 服务评价 地址薄 Order 订单

  • wepy小程序项目

    WePY开发文档参考 店铺 店铺首页 店铺信息 商品 分类展示 规格展现 购物车 商品详情 会员折扣价 订单 商品...

  • 小程序示例展示

    主页 分类栏目 购物车栏目 我的栏目 商品详情页 专题页

  • 商城典型表设计

    后台用户表 角色表 权限表 商品类型表 属性表 商品属性表 商品分类表 商品表 会员表 购物车表 订单表 订单商品...

  • [最近7/30日各品牌复购率] Spark 指标实战(5)

    需求说明如下 统计周期统计粒度指标说明最近7、30日品牌复购率重复购买人数占购买人数比例 建表语句 前提 今天是 ...

  • Android中电商购物车

    Android-----购物车(包含侧滑删除,商品筛选,商品增加和减少,价格计算,店铺分类等) 电商项目中常常有购...

网友评论

    本文标题:[各分类商品购物车存量Top10] Spark 指标实战(7)

    本文链接:https://www.haomeiwen.com/subject/noinlrtx.html