flink实时项目电商用户行为分析(5)---实时流量统计之UV统计之布隆过滤器实现

1.知识点

  • scala输入输出样例类
  • keyBy并行度为1计算UV的技巧

map(data => ("uv", data.userId))..keyBy(_._1)

  • keyBy并行度>1计算UV的技巧

自定义MapFunction,随机自定义key+"uv"

Random.nextString(10) + "uv"
  • WindowedStream.trigger的使用

         trigger触发器,每来一条数据直接清空窗口,放到redis进行计算

  •   trigger返回WindowedStream,继续调用process(ProcessWindowFunction)
  • WindowedStream.process()的使用

windowStream调用接口

  • 布隆过滤器的实现

2.业务目标

滚动输出最近1小时内的PV

窗口:1小时

指标:点击量

3.流程心法

总流程:创建输入输出类--->执行环境--->transform转换--->各类窗口函数的调用

主Object:

  1.创建执行环境,设置时间语义,并行度等

  2.transform api  map转换为输入样例类,并设置watermark

  3.key 定义成常量"v",那么keyBy就分为同一组,如果并行则可以自定义mapFunction

  4.实现trigger

  5.实现processWindowFunction

4.模块详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值