业务需求
核心交易指标 :订单数、商品数、支付金额 , 并按销售区域、商品类型进行分析
业务数据库表结构

业务数据库:
- 交易订单表(trade_orders)
- 订单产品表(order_product)
- 产品信息表(product_info)
- 产品分类表(product_category)
- 商家店铺表(shops)
- 商家地域组织表(shop_admin_org)
- 支付方式表 ( payments )
导入数据 SQL :
交易订单表
订单产品表
产品信息表
产品分类表
商家店铺表
商家地域组织表
支付方式表
数据导入


增量数据导入
ODS层
ODS建表:
- ODS层的表结构与源数据基本类似(列名及数据类型)
- ODS层的表名遵循统一的规范
ODS层建表
装载数据
加载脚本
缓慢变化维
缓慢变化维
维表拉链表
周期性事实表
小结

DIM层

商品分类表
商品地域组织表
支付方式表
商品信息表
DWD层
要处理的表有两张:订单表、订单产品表。其中:
订单表是周期性事实表;为保留订单状态,可以使用拉链表进行处理;
订单产品表普通的事实表,用常规的方法进行处理;
如果有数据清洗、数据转换的业务需求,ODS => DWD
如果没有数据清洗、数据转换的业务需求,保留在ODS,不做任何变化。这
个是本项目的处理方式
订单状态:
-3:用户拒收
-2:未付款的订单
-1:用户取消
0:待发货
1:配送中
2:用户确认收货
DWD层建表
加载脚本
DWS层
DIM、DWD => 数据仓库分层、数据仓库理论
需求:计算当天
- 全国所有订单信息
- 全国、一级商品分类订单信息
- 全国、二级商品分类订单信息
- 大区所有订单信息
- 大区、一级商品分类订单信息
- 大区、二级商品分类订单信息
- 城市所有订单信息
- 城市、一级商品分类订单信息
- 城市、二级商品分类订单信息
需要的信息:订单表、订单商品表、商品信息维表、商品分类维表、商家地域维表
- 订单表 => 订单id、订单状态
- 订单商品表 => 订单id、商品id、商家id、单价、数量
- 商品信息维表 => 商品id、三级分类id
- 商品分类维表 => 一级名称、一级分类id、二级名称、二级分类id、三级名称、三级分类id
- 商家地域维表 => 商家id、区域名称、区域id、城市名称、城市id
- 订单表、订单商品表、商品信息维表 => 订单id、商品id、商家id、三级分类id、单价、数量(订单明细表)
- 订单明细表、商品分类维表、商家地域维表 => 订单id、商品id、商家id、三级分类名称、三级分类名称、三级分类名称、单价、数量、区域、城市 => 订单明细宽表
DWS层建表
dws_trade_orders(订单明细)由以下表轻微聚合而成:
- dwd.dwd_trade_orders (拉链表、分区表)
- ods.ods_trade_order_product (分区表)
- dim.dim_trade_product_info(维表、拉链表)
dws_trade_orders_w(订单明细宽表)由以下表组成:
- ads.dws_trade_orders (分区表)
- dim.dim_trade_product_cat(分区表)
- dim.dim_trade_shops_org(分区表)
加载脚本
ADS层
需求:计算当天
- 全国所有订单信息
- 全国、一级商品分类订单信息
- 全国、二级商品分类订单信息
- 大区所有订单信息
- 大区、一级商品分类订单信息
- 大区、二级商品分类订单信息
- 城市所有订单信息
- 城市、一级商品分类订单信息
- 城市、二级商品分类订单信息
ADS层建表
加载脚本
数据导出
ads_trade_order_analysis 分区表,使用 DataX 导出到 MySQL
小结

