DWS层与DWM层的设计
1.1、设计思路
我们在之前通过分流等⼿段,把数据分拆成了独⽴的 kafka topic。那么接下来如何处理数据,就要思考⼀下我们到底要通过实时计算出哪些指标项。
数据可视化大屏设计 因为实时计算与离线不同,实时计算的开发和运维成本都是⾮常⾼的,要结合实际情况考虑是否有必要象离线数仓⼀样,建⼀个⼤⽽全的中间层。
如果没有必要⼤⽽全,这时候就需要⼤体规划⼀下要实时计算出的指标需求了。把这些指标以主题宽表的形式输出就是我们的 DWS 层。
1.2、需求梳理
统计主题需求指标输出⽅式计算来源来源层级访客pv可视化⼤屏page_log 直接可求dwd
uv可视化⼤屏需要⽤ page_log 过滤去重dwm
跳出率可视化⼤屏需要通过 page_log ⾏为判断dwm
进⼊页⾯数可视化⼤屏需要识别开始访问标识dwd
连续访问时长可视化⼤屏page_log 直接可求dwd 商品点击多维分析page_log 直接可求dwd
收藏多维分析收藏表dwd
加⼊购物车多维分析购物车表dwd
下单可视化⼤屏订单宽表dwm
⽀付多维分析⽀付宽表dwm
退款多维分析退款表dwd
评论多维分析评论表dwd 地区pv多维分析page_log 直接可求dwd
uv多维分析需要⽤ page_log 过滤去重dwm
下单可视化⼤屏订单宽表dwm 关键词搜索关键词可视化⼤屏页⾯访问⽇志 直接可求dwd 点击商品关键词可视化⼤屏商品主题下单再次聚合dws
下单商品关键词可视化⼤屏商品主题下单再次聚合dws
当然实际需求还会有更多,这⾥主要以为可视化⼤屏为⽬的进⾏实时计算的处理。
1.3、DWM 层的定位是什么
DWM 层主要服务 DWS,因为部分需求直接从 DWD 层到DWS 层中间会有⼀定的计算量,⽽且这部分计算的结果很有可能被多个 DWS 层主题复⽤,所以部分 DWD 成会形成⼀层 DWM,我们这⾥主要涉及业务
➢ 访问 UV 计算
➢ 跳出明细计算
➢ 订单宽表
➢ ⽀付宽表
1.4、DWS 层的定位是什么
➢ 轻度聚合,因为 DWS 层要应对很多实时查询,如果是完全的明细那么查询的压⼒是⾮常⼤的。➢ 将更多的实时数据以主题的⽅式组合起来便于管理,同时也能减少维度查询的次数。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论