开发者学堂课程【新电商大数据平台2020最新课程:电商项目之商家用户交互记录宽表分析】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/640/detail/10547
电商项目之商家用户交互记录宽表分析
商家用户交互记录宽表分析
上节用户宽表如何去做,通过分析进行了一个处理。
之后还存在一个用户投诉订单宽表,与用户交易宽表类似,是加了投诉判断。
而用户营销活动宽表就依赖广告投放数据表,在后面内容中处理。
先来讲解商家用户交互记录宽表[DWS]
create external table if not exists dws_nshop.dws_nshop_supplier_user(
supplier_id string comment ‘商家id’ ,
supplier_type int comment '供应商类型:1.自营,2.官方3其他’,
view_count int comment '浏览次数",
comment_users int comment '关注人数’,
comment_area_code int comment ‘关注地区数量',
ct bigint comment ‘产生时间’
)partitioned by (bdp_day string)
stored as parquet
location ‘/data/nshop/dws/supplier/dws_nshop_supplier_user/ ’
先来看需要用到哪些表或者哪些数据呢?
可以看到首先需要商家 id,而商家 id 是在供应商信息表中,如图
供应商编码就是商家编码,如果想取到供应商编码,就需要取到供应商信息表。
还有供应商类型:1.自营,2.官方,3.其他 也需要到供应商信息表中取。
也就是说我们需要分两步,第一步统计商家维度下的用户信息例如供应商类型或者商家id,即供应商信息表中的第一个字段和第三个字段;第二步需要统计一下浏览次数view_count,按照商家id和供应商类型去count,这样才能统计出商家用户两者之间的交易金额表。需要用户产品浏览表
关注人数需要另求,什么是关注,还需要找到关注的信息表用户产品关注表
需要 count user_id
关注地区数量需要count地区编码,都在用户产品关注表中。但是要注意既然都以用户id和地区编码进行count,同样需要以商家id和供应商id分组进行count
分析完后接着来求,先来取商家id和供应商类型,
如图,
供应商信息表中有供应商编码和供应商类型
商品信息表中有商品的供应商编码,那么这两张表都需要,那么照应商品信息表的是哪张表呢?
我们按照 product_coder 商家 id 进行寻找,找到页面布局
如图页面布局的页面对应的实体编号 page_target,它可以找到商品信息表中的 product_coder,再加上商品的供应商编码找到供应商信息表,取到 code 和 type。
再来思考,哪个能找到页面布局的 page_code 页面编码,需要用用户产品浏览表中的 target_id 产品 id 来 join 页面布局中的页面编码
下面来查 target_id 是什么
输入 select * from dwd_nshop.dwd_nshop_actlog_pdtview limit 10;
显示结果如图
4320903966101就是产品 id
现在来写笔记,在交易主题上插入商家用户交互记录宽表
先写4320903966101
接下来再查页面布局中 ods_nshop.dim_pub_page 和页面编码到底是否匹配
输入 select * from ods_nshop.dim_pub_page limit 10,
如图
图中页面编码3代表店铺,4代表产品
接下来再取类型,输入 select * from ods_nshop.dim_pub_page where page_type= ‘4’ limit 10
如图
再将4320101010101放在笔记中
4320903966101
4320101010101
就是对应每个表取到的值
接着再来查看商品信息表中的 product_code,而它需要页面布局中的 page_code 去寻找
输入 select * from ods_nshop.dim_pub_product limit 10
查出来后再将43201010109放在笔记中,但是该值与上面两个值相比少两位数据,无法 join,此处先做演示
再找到供应商编码就是图中的32010101,再将该值写入笔记中
然后再和供应商信息表进行 join,输入
select * from ods_nshop.dim_pub_supplier limit 10
取到值32010101,放入笔记中,与刚才的值相匹配,只是43201010109该值不匹配,最后取到的数据就为空,只是数据问题,与平常的处理无关。
这就是商家用户交互记录宽表,用到了三个维表,这样在取最后一个值时就能取到供应商编码,供应商类型。