一、ODS层
1、保持数据原貌,不做任何修改
2、数据压缩:LZO压缩,减少磁盘空间
3、创建的是分区表:可以防止后续的全表扫描
包括
用户行为:string line dt
ods_start;
ods_event(商品列表、商品详情、点击
广告
点赞、评论、收藏
…… )
业务数据:8张表(用户、支付、订单表、订单详情、商品表、商品一二三级分类……)
二、DWD层
1、ETL对数据的核心字段进行清洗【去重、去空】
2、ETL工具是什么
hive的hql
spark 的spark SQL
MR
Python
kettle(数据清洗框架)
3、清洗掉多少算正常?
万分之一
4、维度退化
商品表、三级分类、二级分类、一级分类 ==》 商品表
数仓建模思想:“维度建模”-星型模型、雪花模型、星座模型,尽量选择星型模型
目的:减少重复的join操作
新版数仓:省份+地区,退化到省份表
5、脱敏:
对身份证号、手机号、个人信息脱敏,如159****1165
ods层可以有不脱敏的数据,但这样的表有权限
6、压缩,优势:减少磁盘空间
7、列式存储,parquet:提高查询效率
8、分区表:
用户行为数据
ods_start:get_json_object()函数
ods_event:使用自定义UDF、自定义UDTF,以及额外的get_json_object()进行后续解析
业务数据
用户、支付、订单表、订单详情、商品表
三、DWS层
1、表的组成
用户行为宽表(用户id)、商品宽表、设备行为宽表(非登录用户的指标)
2、哪张宽表最宽
用户行为宽表
3、有多少个字段
60-100个
4、哪60个字段/哪100个字段
说30个以上即可
如用户行为:今天登录的次数、点赞的次数、评论次数、收藏次数、取消点赞次数、加入购物车次数、下单次数、取消下单次数、删除购物车次数、取消收藏次数、追加评论次数、支付次数、支付金额、下单金额、取消订单的商品数/金额、发货次数、退款次数、退款金额
5、流转G复活相关指标
流转
日活:100w
月活:大约是日活的2-3倍,300e
总注册的用户是多少:1000w-3000w之间,
GMV(公司机密)
日GMV:100w日活,10w人下单,一单50-100,10w订单大约是500w-1000w的流水
利润在10%-20%,利润大约在100w-200w之间【进货成本】
人员成本:程序员,1000
复购率:某日常用品复购(手纸、面膜、牙膏)10-20%
手表、显示器、电脑1%-2%
转化率:商品详情 ==》 加购物车 ==》 下单 ==》 支付
5%-10% 60-70% 90%-95%
留存率:1/2/3、周留存、月留存、
搞活动 10-20%
四、ADS层:分析指标
生产环境下大概在100-200个指标,说30个以上
日活、新增、留存、转化率、丢失、回流、连续三周活跃、七天内连续三天的活跃登录、GMV、复购率、复购率排行
要求可以现场手写指标【第六章】
作者:哥们要飞