电商项目之 DWD 用户启动日志表 SQL 实现(上)|学习笔记

简介: 快速学习电商项目之 DWD 用户启动日志表 SQL 实现(上)

开发者学堂课程【新电商大数据平台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'

经纬度没有用,地区编码即可。一共九个字段 已经按照条件查询,还有一个时间段没有求。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
SQL 关系型数据库 MySQL
项目中遇到一张900w的数据表把原先要花费17s执行的SQL优化到300ms经验加100哈哈哈
项目中遇到一张900w的数据表把原先要花费17s执行的SQL优化到300ms经验加100哈哈哈
25 1
|
2月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
46 0
|
6月前
|
Java Docker 索引
微服务轮子项目(13) - 统一日志中心详解(docker安装部署)
微服务轮子项目(13) - 统一日志中心详解(docker安装部署)
90 0
|
7月前
|
Dubbo Java 应用服务中间件
项目中引进这玩意,排查日志又快又准
随着微服务盛行,很多公司都把系统按照业务边界拆成了很多微服务,在排错查日志的时候,因为业务链路贯穿着很多微服务节点,导致定位某个请求的日志以及上下游业务的日志会变得有些困难。
|
23天前
|
SQL 自然语言处理 数据挖掘
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
NL2SQL技术方案系列(1):NL2API、NL2SQL技术路径选择;LLM选型与Prompt工程技巧,揭秘项目落地优化之道
|
6月前
|
canal 消息中间件 关系型数据库
微服务轮子项目(36) -Canal数据库日志解析消费
微服务轮子项目(36) -Canal数据库日志解析消费
67 0
|
7月前
flowable项目报错:java.sql.SQLSyntaxErrorException: Table ‘psr_flowable_test.act_ge_property’ doesn’t exi
flowable项目报错:java.sql.SQLSyntaxErrorException: Table ‘psr_flowable_test.act_ge_property’ doesn’t exi
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_54 项目员工 III
「SQL面试题库」 No_54 项目员工 III
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_53 项目员工II
「SQL面试题库」 No_53 项目员工II
|
4月前
|
SQL 数据挖掘 数据处理
「SQL面试题库」 No_52 项目员工 I
「SQL面试题库」 No_52 项目员工 I