ToB企服应用市场:ToB评测及商务社交产业平台

标题: 大数据 - DWS层 业务实现 [打印本页]

作者: 花瓣小跑    时间: 2022-12-31 01:20
标题: 大数据 - DWS层 业务实现

统计主题 需求指标【ADS】输出方式计算来源来源层级访客【DWS】pv可视化大屏page_log 直接可求dwdUV(DAU)可视化大屏需要用 page_log 过滤去重dwmUJ 跳出率可视化大屏需要通过 page_log 行为判断dwm进入页面数可视化大屏需要识别开始访问标识dwd连续访问时长可视化大屏page_log 直接可求dwd商品点击多维分析page_log 直接可求dwd收藏多维分析收藏表dwd加入购物车多维分析购物车表dwd下单可视化大屏订单宽表dwm支付多维分析支付宽表dwm退款多维分析退款表dwd评论多维分析评论表dwd地区PV多维分析page_log 直接可求dwdUV多维分析需要用 page_log 过滤去重dwm下单可视化大屏订单宽表dwm关键词搜索关键词可视化大屏页面访问日志 直接可求dwd点击商品关键词可视化大屏商品主题下单再次聚合dws下单商品关键词可视化大屏商品主题下单再次聚合dwsDWS 层的定位是什么

DWS 层-访客主题宽表的计算

统计主题 需求指标【ADS】输出方式计算来源来源层级访客【DWS】PV可视化大屏page_log 直接可求dwdUV(DAU)可视化大屏需要用 page_log 过滤去重dwm跳出率可视化大屏需要通过 page_log 行为判断dwm进入页面数可视化大屏需要识别开始访问标识dwd连续访问时长可视化大屏page_log 直接可求dwd设计一张 DWS 层的表其实就两件事:维度和度量(事实数据)
需求分析与思路

功能实现

封装 VisitorStatsApp,读取 Kafka 各个流数据

访客主题宽表计算
合并数据流

把数据流合并在一起,成为一个相同格式对象的数据流
合并数据流的核心算子是 union。但是 union 算子,要求所有的数据流结构必须一致。所以 union 前要调整数据结构。
根据维度进行聚合

为何要写入 ClickHouse 数据库,ClickHouse 数据库作为专门解决大量数据统计分析的数据库,在保证了海量数据存储的能力,同时又兼顾了响应速度。而且还支持标准 SQL,即灵活又易上手。
flink-connector-jdbc 是官方通用的 jdbcSink 包。只要引入对应的 jdbc 驱动,flink 可以用它应对各种支持 jdbc 的数据库,比如 phoenix 也可以用它。但是这个 jdbc-sink 只支持数据流对应一张数据表。如果是一流对多表,就必须通过自定义的方式实现了,比如之前的维度数据。
虽然这种 jdbc-sink 只能一流对一表,但是由于内部使用了预编译器,所以可以实现批量提交以优化写入速度。
DWS 层-商品主题宽表的计算

商品点击多维分析page_log 直接可求dwd
收藏多维分析收藏表dwd
加入购物车多维分析购物车表dwd
下单可视化大屏订单宽表dwm
支付多维分析支付宽表dwm
退款多维分析退款表dwd
评论多维分析评论表dwd
与访客的 dws 层的宽表类似,也是把多个事实表的明细数据汇总起来组合成宽表。需求分析与思路

功能实现

DWS 层-地区主题表(FlinkSQL)

地区PV多维分析page_log 直接可求dwd
UV多维分析需要用 page_log 过滤去重dwm
下单可视化大屏订单宽表dwm
地区主题主要是反映各个地区的销售情况。从业务逻辑上地区主题比起商品更加简单,业务逻辑也没有什么特别的就是做一次轻度聚合然后保存,所以在这里我们体验一下使用 FlinkSQL,来完成该业务。需求分析与思路

功能实现

DWS 层-关键词主题宽表的计算

关键词搜索关键词可视化大屏页面访问日志 直接可求dwd
点击商品关键词可视化大屏商品主题下单再次聚合dws
下单商品关键词可视化大屏商品主题下单再次聚合dws
需求分析与思路


关键词主题这个主要是为了大屏展示中的字符云的展示效果,用于感性的让大屏观看者感知目前的用户都更关心的那些商品和关键词。
关键词的展示也是一种维度聚合的结果,根据聚合的大小来决定关键词的大小。
关键词的第一重要来源的就是用户在搜索栏的搜索,另外就是从以商品为主题的统计中获取关键词。
功能实现

关于分词

以我们需要根据把长文本分割成一个一个的词,这种分词技术,在搜索引擎中可能会用到。对于中文分词,现在的搜索引擎基本上都是使用的第三方分词器,咱们在计算数据中也可以,使用和搜索引擎中一致的分词器,IK。
  1. <dependency>
  2. <groupId>com.janeluo</groupId>
  3. <artifactId>ikanalyzer</artifactId>
  4. <version>2012_u6</version>
  5. </dependency>
复制代码
有了分词器,那么另外一个要考虑的问题就是如何把分词器的使用揉进 FlinkSQL 中。
因为 SQL 的语法和相关的函数都是 Flink 内定的,想要使用外部工具,就必须结合自定义函数。

https://www.bilibili.com/video/BV1Ju411o7f8/?p=115
大数据-数据仓库-实时数仓架构分析
大数据-业务数据采集-FlinkCDC
大数据 - DWD&DIM 行为数据
大数据 - DWD&DIM 业务数据
大数据 DWM层 业务实现

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4