数仓开发之DWD层(四)

以你之姓@ 2023-09-23 15:25 192阅读 0赞

目录

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

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 图解:

da3d0b62ec684d7293428947da5c951a.png

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

12.1 主要任务:

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

12.2 思路分析:

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

12.3 图解:

db43ec9d062349a3baf83335d5d6aad2.png

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

13.1 主要任务:

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

13.2 思路分析:

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

13.3 图解:

6b8551efe5a740f0b202c9583e031692.png

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

14.1 主要任务:

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

14.2 思路分析:

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

14.3 图解:

4b60253891f04528a03d24eca52b5aab.png

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

15.1 主要任务:

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

15.2 思路分析:

1**)设置 ttl**

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

2)筛选评论数据

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

3)建立 Mysql-Lookup**字典表**

4**)关联两张表**

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

15.3 图解:

e1abbd836bbf4184bed0fdef2876d0d0.png

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

16.1 主要任务:

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

16.2 思路分析:

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

16.3图解:

7604bc0a4ae54bfd8622b70f9184eaee.png

发表评论

表情:
评论列表 (有 0 条评论,192人围观)

还没有评论,来说两句吧...

相关阅读