Flink实时电商的用户行为分析

本内容仅用于个人学习笔记

批处理
批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。可以认为,处理的是用一个固定时间间隔分组的数据点集合。批处理模式中使用的数据集通常符合下列特征:
        – 有界:批处理数据集代表数据的有限集合

        – 持久:数据通常始终存储在某种类型的持久存储位置中

        – 大量:批处理操作通常是处理极为海量数据集的唯一方法

        

流处理
流处理可以对随时进入系统的数据进行计算。流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作。流处理中的数据集是“无边界”的,这就产生了几个重要的影响:
        – 可以处理几乎无限量的数据,但同一时间只能处理一条数据,不同记录间只维持最少量的状态。

        – 处理工作是基于事件的,除非明确停止否则没有“尽头”。

        – 处理结果立刻可用,并会随着新数据的抵达继续更新。

        很好,回顾了批处理和流处理的区别之后,我们直接进入项目的整体介绍!

        

项目整体介绍
        电商平台中的用户行为频繁且较复杂,系统上线运行一段时间后,可以收集到大量的用户行为数据,进而利用大数据技术进行深入挖掘和分析,得到感兴趣的商业指标并增强对风险的控制。

        电商平台中的用户行为频繁且较复杂,系统上线运行一段时间后,可以收集到大量的用户行为数据,进而利用大数据技术进行深入挖掘和分析,得到感兴趣的商业指标并增强对风险的控制

        电商用户行为数据多样,整体可以分为用户行为习惯数据业务行为数据两大类。用户的行为习惯数据包括了用户的登录方式、上线的时间点及时长、点击和浏览页面、页面停留时间以及页面跳转等等,我们可以从中进行流量统计和热门商品的统计,也可以深入挖掘用户的特征;这些数据往往可以从web服务器日志中直接读取到。而业务行为数据就是用户在电商平台中针对每个业务(通常是某个具体商品)所作的操作,我们一般会在业务系统中相应的位置埋点,然后收集日志进行分析。业务行为数据又可以简单分为两类:一类是能够明显地表现出用户兴趣的行为,比如对商品的收藏、喜欢、评分和评价,我们可以从中对数据进行深入分析,得到用户画像,进而对用户给出个性化的推荐商品列表,这个过程往往会用到机器学习相关的算法另一类则是常规的业务操作,但需要着重关注一些异常状况以做好风控,比如登录和订单支付
 

项目主要模块
        基于对电商用户行为数据的基本分类,我们可以发现主要有以下三个分析方向:

        1、热门统计

        利用用户的点击浏览行为,进行流量统计、近期热门商品统计等。

        2、偏好统计

        利用用户的偏好行为,比如收藏、喜欢、评分等,进行用户画像分析,给出个性化的商品推荐列表

        3、风险控制

        利用用户的常规业务行为,比如登录、下单、支付等,分析数据,对异常情况进行报警提示

总结:

统计分析
– 点击、浏览
– 热门商品、近期热门商品、分类热门商品、流量统计
统计分析
– 收藏、喜欢、评分、打标签
– 用户画像,推荐列表(结合特征工程和机器学习算法)
风险控制
– 下订单、支付、登录
– 刷单监控,订单失效监控,恶意登录(短时间内频繁登录失败)监控
        大的方面,我们可以将其分为实时统计分析和业务流程及风险控制领域

        但本项目限于数据,我们只实现热门统计和风险控制中的部分内容,将包括以下四大模块:实时热门商品统计、实时流量统计、恶意登录监控、订单支付失效监控

      项目模块设计,可以参考这张图:


在这里插入图片描述

        由于对实时性要求较高,我们会用flink作为数据处理的框架。在项目中,我们将综合运用flink的各种API,基于EventTime去处理基本的业务需求,并且灵活地使用底层的processFunction,基于状态编程CEP去处理更加复杂的情形。

业务:

实时热门商品统计:

(2条消息) Flink_实时热门商品统计_远方时光的博客-CSDN博客

热门页面浏览数:

(2条消息) Flink_热门页面浏览数_远方时光的博客-CSDN博客

网站总浏览量(PV)的统计:

(2条消息) Flink_网站总浏览量(PV)的统计_远方时光的博客-CSDN博客

网站独立访客数(UV):

(2条消息) Flink_网站独立访客数(UV)_远方时光的博客-CSDN博客

APP 市场推广 分渠道统计(自定义测试数据源):

(2条消息) Flink_APP 市场推广 分渠道统计(自定义测试数据源)_远方时光的博客-CSDN博客

页面广告点击量统计(黑名单过滤):

(2条消息) Flink_ 页面广告点击量统计(黑名单过滤)_远方时光的博客-CSDN博客

恶意登录监控 (利用CEP):

(2条消息) Flink_恶意登录监控 (利用CEP)_远方时光的博客-CSDN博客

订单支付实时监控 (利用CEP):

(2条消息) Flink_订单支付实时监控 (利用CEP)_远方时光的博客-CSDN博客

来自两条流的订单交易匹配(Connect, CoProcessFunction):

(2条消息) Flink_来自两条流的订单交易匹配(Connect, CoProcessFunction)_远方时光的博客-CSDN博客

两条流intervalJoin(b流在a流规定时间范围内jion):

(2条消息) Flink_两条流intervalJoin(b流在a流规定时间范围内jion)_远方时光的博客-CSDN博客

    

数据源解析
电商用户行为数据集的每一行表示一条用户行为

case class UserBehavior(userId: Long,
                        itemId: Long,
                        categoryId: Int,
                        behavior: String,
                        timestamp: Long )
字段名数据类型说明
userIdLong加密后的用户ID
itemIdLong加密后的商品ID
categoryIdInt加密后的商品所属类别ID
behavior String用户行为类型,包括(‘pv’, ‘’buy, ‘cart’, ‘fav’)
timestampLong行为发生的时间戳,单位秒


       

web服务器的日志数据,每一行日志记录了访问者的IP、userId、访问时间、访问方法以及访问的url,具体描述如下:

web服务器的日志样例类:
case class ApacheLogEvent(ip: String,
                          userId:String,
                          timestamp: Long,
                          method: String,
                          url: String )
字段名 数据类型 说明
ipString访问的 IP
userIdLong访问的 user ID
eventTimeLong访问时间
methodString访问方法 GET/POST/PUT/DELETE
url String访问的 url

//登录事件
case class LoginEvent(userId: Long, ip: String, eventType: String, timeStamp: Long)
2306466.249.3.15fail1558430826
569280.149.25.29fail1558430833
723386.226.15.75success1558430832

// 定义下单事件,到账事件样例类
case class OrderEvent(orderId: Long, eventType: String, txId: String, timestamp: Long) 

34729create1558430842
34730create1558430843
34729paysd76f87d61558430844
34730pay3hu3k24321558430844

case class ReceiptEvent(txId: String, payChannel: String, timestamp: Long) //txId 交易流水号 

ewr342as4wechat1558430845
sd76f87d6wechat1558430847
3hu3k2432alipay1558430848
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值