Flink电商项目第一天-电商用户行为分析及完整图步骤解析-热门商品统计TopN的实现

GitHub

https://github.com/SmallScorpion/UserBehaviorAnalysis.git

批处理

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

有界:批处理数据集代表数据的有限集合
持久:数据通常始终存储在某种类型的持久存储位置中
大量:批处理操作通常是处理极为海量数据集的唯一方法

流处理

流处理可以对随时进入系统的数据进行计算。流处理方式无需针对整个数据集执行操作,而是对通过系统传输的每个数据项执行操作。流处理中的数据集是“无边界”的,这就产生了几个重要的影响:

  1. 可以处理几乎无限量的数据,但同一时间只能处理一条数据,不同记录间只维持最少量的状 态
  2. 处理工作是基于事件的,除非明确停止否则没有“尽头”
  3. 处理结果立刻可用,并会随着新数据的抵达继续更新。

电商用户行为

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

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

在这里插入图片描述

行为分析

在这里插入图片描述

电商用户行为分析——项目模块设计

  1. 热门统计
    利用用户的点击浏览行为,进行流量统计、近期热门商品统计等。
  2. 偏好统计
    利用用户的偏好行为,比如收藏、喜欢、评分等,进行用户画像分析,给出个性化的商品推荐列表。
  3. 风险控制
    利用用户的常规业务行为,比如登录、下单、支付等,分析数据,对异常情况进行报警提示。
    本项目限于数据,我们只实现热门统计和风险控制中的部分内容,将包括以下五大模块:实时热门商品统计、实时流量统计、市场营销商业指标统计、恶意登录监控和订单支付失效监控,其中细分为以下9个具体指标:

在这里插入图片描述
在这里插入图片描述

数据源解析

在这里插入图片描述

数据结构

一份淘宝用户行为数据集,保存为csv文件。本数据集包含了淘宝上某一天随机一百万用户的所有行为(包括点击、购买、收藏、喜欢)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

UserBehavior
在这里插入图片描述

以apache服务器的一份log为例,每一行日志记录了访问者的IP、userId、访问时间、访问方法以及访问的url,具体描述如下

ApacheLogEvent
在这里插入图片描述

项目模块

在这里插入图片描述

热门实时商品统计

在这里插入图片描述

图解析

大体流程:
在这里插入图片描述
1. 按照商品Id进行分区

在这里插入图片描述
2. 设置时间窗口

在这里插入图片描述

3. 时间窗口(timeWindow)区间为左闭右开,同一份数据会被分发到不同的窗口

在这里插入图片描述
4. 窗口聚合

在这里插入图片描述

5. 窗口聚合示例
在这里插入图片描述

6. 进行统计整理 —— keyBy(“windowEnd”)
在这里插入图片描述
7. 状态编程

在这里插入图片描述

8. 排序输出
在这里插入图片描述

测试

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章