数仓开发之DWD层(四)

目录

十一:工具域优惠券领取事务事实表

11.1 主要任务:

11.2 思路分析:

11.3 图解:

十二:工具域优惠券使用(下单)事务事实表

12.1 主要任务:

12.2 思路分析:

12.3 图解:

十三:工具域优惠券使用(支付)事务事实表

13.1 主要任务:

13.2 思路分析:

13.3 图解:

十四:互动域收藏商品事务事实表

14.1 主要任务:

14.2 思路分析:

14.3 图解:

十五:互动域评价事务事实表

15.1 主要任务:

15.2 思路分析:

15.3 图解:

十六:用户域用户注册事务事实表

16.1 主要任务:

16.2 思路分析:

16.3图解:


十一:工具域优惠券领取事务事实表

11.1 主要任务:

读取优惠券领用数据,写入 Kafka 优惠券领用主题

11.2 思路分析:

用户领取优惠券后,业务数据库的优惠券领用表会新增一条数据,因此操作类型为 insert 的数据即为优惠券领取数据。

11.3 图解:

 

十二:工具域优惠券使用(下单)事务事实表

12.1 主要任务:

读取优惠券领用表数据,筛选优惠券下单数据,写入 Kafka 优惠券下单主题。

12.2 思路分析:

用户使用优惠券下单时,优惠券领用表的 using_time 字段会更新为下单时间,同时 coupon_status 字段会由 1401 更改为 1402,因此优惠券下单数据应满足三个条件:① 操作类型为 update;② 当前 coupon_status 字段的值为 1402;③ 修改了 coupon_status 字段。

12.3 图解:

 

十三:工具域优惠券使用(支付)事务事实表

13.1 主要任务:

读取优惠券领用表数据,筛选优惠券支付数据,写入 Kafka 优惠券支付主题。

13.2 思路分析:

用户使用优惠券支付时,优惠券领用表的 used_time 字段会更新为支付时间,因此优惠券支付数据应满足两个条件:(1)操作类型为 update;(2)修改了 used_time 字段。使用优惠券支付后,优惠券领用表数据就不会再发生变化,所以在操作类型为 update 的前提下,只要 used_time 不为 null,就可以断定本次操作修改的是 used_time 字段。

13.3 图解:

 

十四:互动域收藏商品事务事实表

14.1 主要任务:

读取收藏数据,写入 Kafka 收藏主题

14.2 思路分析:

用户收藏商品时业务数据库的收藏表会插入一条数据,因此筛选操作类型为 insert 的数据即可。

14.3 图解:

 

十五:互动域评价事务事实表

15.1 主要任务:

建立 MySQL-Lookup 字典表,读取评论表数据,关联字典表以获取评价(好评、中评、差评、自动),将结果写入 Kafka 评价主题

15.2 思路分析:

1)设置 ttl

前文提到,与字典表关联时 ttl 的设置主要是考虑到从外部介质查询维度数据的时间,此处设置为 5s。

2)筛选评论数据

用户提交评论时评价表会插入一条数据,筛选操作类型为 insert 的数据即可。

3)建立 Mysql-Lookup 字典表

4)关联两张表

5)写入 Kafka 互动域评论事实主题

15.3 图解:

十六:用户域用户注册事务事实表

16.1 主要任务:

读取用户表数据,获取注册时间,将用户注册信息写入 Kafka 用户注册主题。

16.2 思路分析:

用户注册时会在用户表中插入一条数据,筛选操作类型为 insert 的数据即可。

16.3图解:

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值