Skip to content

AWangHe/UserBehaviorAnalysis

Repository files navigation

UserBehaviorAnalysis

电商用户行为数据分析

requirements

  • flink==1.7.2
  • scala==2.11
  • kafka==2.2.0

热门实时商品统计

  • 基本需求

  统计近1小时内的热门商品,每5分钟更新一次

  热门度用浏览次数(“pv”)来衡量

  • 解决思路

  在所有用户行为数据中,过滤出浏览(“pv”)行为进行统计

  构建滑动窗口,窗口长度为1小时,滑动距离为5分钟

实时流量统计-热门页面

  • 基本需求

  从web服务器的日志中,统计实时的访问流量

  统计每分钟的ip访问量,取出访问量最大的5个地址,每5秒更新一次

  • 解决思路

  将 apache 服务器日志中的时间,转换为时间戳,作为 Event Time

  构建滑动窗口,窗口长度为1分钟,滑动距离为5秒

实时流量统计-PV 和 UV

  • 基本需求

  从埋点日志中,统计实时的PV和UV

  统计每小时的访问量(PV),并且对用户进行去重(UV)

  • 解决思路:

  统计埋点日志中的pv行为,使用Set数据结构进行去重

  对于超大规模的数据,可以考虑用布隆过滤器进行去重

市场营销分析——APP市场推广统计

  • 基本需求

  从埋点日志中,统计APP市场推广的数据指标

  按照不同的推广渠道,分别统计数据

  • 解决思虑

  通过过滤日志中的用户行为,按照不同的渠道进行统计

  可以用process function处理,得到自定义的输出数据信息

市场营销分析-页面广告统计

  • 基本需求

  从埋点日志中,统计每小时页面广告的点击量,5秒刷新一次,按照不同省份进行划分

  对于“刷单”式的频繁点击行为进行过滤,并将该用户加入黑名单

  • 解决思路

  根据省份进行分组,创建长度为1小时,滑动距离为5秒的窗口进行统计

  可以使用process function 进行黑名单过滤,检测用户对同一广告的点击量,如果超过上限则将用户信息已侧输出流输出到黑名单中

恶意登录监控

  • 基本需求

  用户在短时间内频繁登录失败,有程序恶意攻击的可能

  同一用户(可以是不同IP)在2秒内连续两次登录失败,需要报警

  • 解决思路

  将用户的登录失败行为存入 ListState,设定定时器2秒后触发,查看 ListState 中有几次失败登录

  更加精确的检测,可以使用 CEP 库实现事件流的模式匹配

订单支付实时监控

  • 基本需求

  用户下单之后,应设置订单失效时间,以提高用户支付的意愿,并降低系统风险;另外,订单的支付可以做实时确认

  用户下单后15分钟未支付,则输出监控信息

  • 解决思路

  利用 CEP 库进行事件流的模式匹配,并设定匹配的时间间隔

  对两条流的订单交易用 connect 合并起来,做匹配处理

订单支付实时对账

  • 基本需求

  用户下单并支付后,应查询到账信息,进行实时对账

  如果有不匹配的支付信息或者到账信息,输出提示信息

  • 解决思路

  从两条流中分别读取订单支付信息和到账信息,合并处理

  用connect连接合并两条流,用从CoProcessFunction做匹配处理

  用intervalJoin连接合并两条流,用ProcessJoinFunction做匹配处理

About

电商用户行为数据分析

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages