1、实时需求:
输入数据是以序列化的方式一个个输入并进行处理的,在开始时并不知道所有的输入数据。与离线计算相比,运行时间短,计算量相对较小,强调计算过程的时间要短,即所查当下给出结果。
2、数据流程设计:
数据来源有两部分:
第一部分是web/App交互的业务日志数据(暂不讨论这部分);
第二部分是前端埋点用户行为数据(即用户点击操作等产生的数据),这里采用模拟生成数据的方式,编写日志服务器Springboot程序接收数据,使用Nginx进行负载均衡,然后发送给kafka…(后面做到再讲)
本项目需求:
-
当日用户首次登陆(日活)分时趋势图,昨日对比
从项目的日志中获取用户的启动日志,如果是当日第一次启动,纳入统计。将统计结果保存到 ES 中,利用Kibana 进行分析展示
-
当日新增付费用户(首单)分析(ods+dwd)
按省份|用户性别|用户年龄段,统计当日新增付费用户首单平均消费及人数占比;无论是省份名称、用户性别、用户年龄,订单表中都没有这些字段,需要订单(事实表)和维度表(省份、用户)进行关联,形成宽表后将数据写入到 ES,通过 Kibana 进行分析以及图形展示。
-
订单明细实付金额分摊体积交易额统计(dws)
-
ADS聚合及可视化(ads)
以热门品牌统计为案例
采用到的技术: