基于“艺人直播平台”业务背景的flink实时数据分析(实时数仓)项目,基于主流的实时数据分析系统技术架构实现,内含各类直播平台实时数据分析需求场景,各种flink技能点实战(含源码级修改),是巩固flink技能,快速获取flink实战熟练度不可多得的课程!
业务背景示例
相关报表可视化示例
相关技术点示例
实时统计拼团相关的指标示例
拼团的主表:tb_groupon
拼团的明细表:tb_groupon_users
拼团的规则表:tb_groupon_rules
订单主表:tb_order
订单明细表:tb_order_gooods
优惠卷表:tb_coupon
优惠卷表:tb_coupon_users
分析需求:
统计,总共开了多少个团,团的成团率、开团热门分类、团购订单数量、成交的金额、成交的分类金额、成交的区域金额。
1.实时拼团数量(维度:拼图的状态、商品分类[关联商品表获取分类ID])
拼团中的(状态),手机分类(商品分类),2(数量)
2.实时拼团的金额(维度:拼图的状态、商品分类[关联商品表获取分类ID])
拼团明细表 Left Join 订单主表 Left Join 拼团主表
案例:多流进行关联(Join)
比如三个流进行Join(拼团明细表 Left Join 订单主表 Left Join 拼团主表)
Flink窗口的Join、CoGroup不支持多个流在一个窗口内进行Join、CoGroup
解决方案一:
将两个流进行Join、CoGroup,将的得到Join后的流再查数据库关联信息(异步IO,要查数据库,效率较低)
解决方案二:
将两个流进行Join、CoGroup,将的得到Join后的流在跟第三流进行JOIN(有两个窗口,在窗口中进行Join,数据是放在WindowState中,效率高一些)
简化后的数据:
拼团主表:主表ID,拼团状态,分类ID
拼团明细表:细表ID,拼团主表ID, 订单ID
订单主表:订单ID、订单总金额
join后的结果
拼团主表ID,订单主表ID,订单总金额,拼团状态,分类ID、(省份)