开发者学堂课程【新电商大数据平台2020最新课程:电商项目之 DWD 用户启动日志表 SQL 实现(上)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/640/detail/10523
电商项目之 DWD 用户启动日志表 SQL 实现(上)
根据模型创建表,上节课说了事务的明细表,周期快照表等,怎么去实现明细层,也就是说主题率的创建
根据数据,在本次项目中,创建主题率都是根据数据划分,比如说 DWD 层,用户主题,考虑所去创作的用户主题表,分为四种:
用户启动日志表,用户产品浏览表,用户产品查询表,用户产品关注表。
这四个是根据数据进行划分的启动日志,参照用户行为日志表 进行数据分类 分类其实就是一个建模 根据维度划分数据的一个过程 按照用户 维度下面的数据结构 数据是分为多种的 因为用户有不同的操作 不同的用户数据 首先看一下用户启动日志表 首先要找到启动 里面有一个叫左加载 。
用户自动日志表【DWD】
(ods mshop ods 01 useractlog)
create esternal table if not exists dwd_ nshop dwd _nshop actlog launch(
wser string comest "用户 id"
device_rum strine comment"设备号"
device type string ccert设备类型
es string comment手机系统
es version string commest手机系统版本
manufacturer strirg comment 手机制造商
carrier string comment电信运营商,
setwork_type string comment网络类型
area_ code string comment地区编码
launch time segment string coment启动时间段
ct bigint comment产生时间
) partitioned by (bdp day string)
stered as parquet
location"/ data/ rnshop/ dwd_nshop_actlog_launch/"
用户行为日志
Action 行为种类
INSTALL("01," install",安装"),
LAUNCH("02", ""launch",加载),
LOGIN("03"," login","登陆"),
REGISTER("04"," register","注册"),
INTERACTIVE("05"," interactive","交互行为"),
EXIT("06","exit","退出"),
PAGE_ENTER_HS("07"," page_enter_hs","页面进入"),
PAGE_ENTER_NATIVE("08"," page_enter_native","页面进入"),
eventtype 事件类型
VIEW("01"," view","浏览"),
CLICK("02"," click","点击"),
INPUT("03"," input","输入"),
SLIDE("04"," slide","滑动"),
加载之后会产生对应的网页,这个行为日志就是用户启动的行为日志,可以按照启动的行为日志划分一个主题,上面所说的用户启动主题,用户启动日志表。
用户产品浏览表
浏览和网站的交互有关系,比如说进行点击浏览,和交互有关系,行为应该是05,启动日志表示02,其他的比如说用户浏览查询关注,这些是05以内的,因为已经和网站里的页面进行交互了,需要去05查找数据。
数据获取的时候也是一样的,获取用户行为日志的时候,数据是02和05,查询一下用户行为日志是什么样子的。
连上之后进行 have,接下来查看用户行为日志数据,找到用户的表。
如果做用户启动行为日志表的话,找02这条数据,如果想要做浏览 关注和查询,需要去找交互05。每一个对应的action 行为都有对应的事件对应的事件有相关的操作和分析,分析在用户行为日志表里。
action-interactiveR 互
eventtype-click=点击
extinfo-{
类型:
targettype:店铺3产品4
产品:
targetaction: product 产品+关注 e1点赞0203回复
targetid:[商品 id]
店铺:
target action:shop店铺+关注01
target ids:【店铺 id]
eventtypevie浏览滑动(产品相关信息浏览,暂不涉及评论部分)
extinfo=(
类型:
targettype:店铺3产品4
产品:
targetids:多商品 id
targetorder:10: default|20:销量升序1:销量降序30:价格升序31:价格降序
target _keys:"产品分类代码"
参照这个去做,首先 创建用户主题下的用户启动日志表,可以用很多工具,现在没有库,可以按照 hue 客户端操作界面,创建一个 Database dwd,然后复制一下,现在库有 dwd,现在已经有用户启动日志表,可以写 SQL。
在桌面上创建一个笔记,把所有的 SQL 全放在里面,每个表都写上名字,比如说用户启动日志表,先分析用户主题。
接下来做用户启动日志表,需要用户 ID,设备号,设备类型,手机系统,手机系统版本,手机制造商,电信运营商,网络类型等等,根据字段获取值,里面还有一个获取时间段,不需要过多的限制,比如说0点~6点,分为四个时间段,算早晨,6点以后到12点算上午,从12点开始到晚上6点算下午,晚上6点到凌晨算晚上。
在计算的时间,需要时间来判断时间段,根据时间判断当前的时间段是什么时候,先把有的字段取出来,写在笔记当中。
启动是02,查询里面是有02的,先把需要的资源查出来。
select
customer id
device_num,
device_type
os,
os version,
manutacturer,
carrier,
network_type,
area code,
longitude,
from ods_nshop. ods_nshop_01_useractlog
where
bdp_day=20200321
and
action='02'
经纬度没有用,地区编码即可。一共九个字段 已经按照条件查询,还有一个时间段没有求。