本项目基于对电商用户行为数据,选取三个方向进行分析:
本项目分为 6 大模块,全程采用 Flink 流式框架并 使用Scala 编写。
FlinkTutorial 配合 docs 内容对 Flink 做了全面的代码讲解
HotItemsAnalysis 热点商品分析
LoginFailDetect 恶意登录监测
MarketAnalysis 市场营销分析
NetworkFlowAnalysis 网络流量分析
OrderPayDetect 订单支付监测
批处理主要操作大容量静态数据集,并在计算过程完成后返回结果。
可以认为,处理的是用同一个固定时间间隔分组的数据点集合。批处理模式中使用的数据集通常符合下列特征:
用户行为数据
UserBehaivor.csv
e.g. 543462, 1715, 1464116, pv, 1511658000
web 服务器日志
apache.log
e.g. 66.249.73.135 - - 17/05/2015:10:05:40 +0000 GET /blog/tags/ipv6
字段名 | 数据类型 | 说明 |
---|---|---|
userId | Long | 加密后的用户 ID |
itemId | Long | 加密后的商品 ID |
categoryId | Int | 加密后的商品所属类别 ID |
behavior | String | 用户行为类型,包括( ‘pv’, ‘buy’,‘cart’,‘fav') |
timestamp | Long | 行为发生的时间戳,单位秒 |
字段名 | 数据类型 | 说明 |
---|---|---|
ip | String | 访问的 IP |
userId | Long | 访问的 user ID |
eventTime | Long | 访问时间 |
method | String | 访问方法 GET/POST/PUT/DELETE |
url | String | 访问的url |
按照商品 Id 进行分区
设置时间窗口
时间窗口(timewindow)区间为左闭右开
同一份数据会被分发到不同的窗口
窗口聚合
class CountAgg extends AggregateFunction[UserBehavior, Long, Long]{
override def createAccumulator(): Long = 0L
override def add(userBehavior: UserBehavoir, acc: Long): Long = acc + 1;
override def getResult(acc: Long): Long = acc
override def merge(acc1: Long, acc2: Long): Long = acc1 + acc2
}
override def apply(key: Tuple, window: TimeWindow, aggregateResult: Iterable[Long],
collector:Collecctor[ItemCiewCount]) : Unit = {
val itemId: Long = key.asInstanceOf[Tuple1[Long]].f0
val count = aggregateResult.iterator.next
collector.collect(ItemViewCount(ItemId, window,getEnv, count))
}
定时器触发时,相当于收到了大于 windowEnd + 100 的 watermark,可以认为窗口已经收集到了所有数据,从 ListState 中读取进行处理
基本需求
解决思路
根据省份进行分组,创建长度为 1 小时、滑动距离为 5 秒的时间窗口进行统计
可以用 process function 进行黑名单过滤,检测用户对同一广告的点击量,
如果超过上限则将用户信息以测输出流流出到黑名单中
现在的电子商务:
1、大多买家通过搜索找到所买物品,而非电商网站的内部导航,搜索关键字更为重要;
2、电商商家通过推荐引擎来预测买家可能需要的商品。推荐引擎以历史上具有类似购买记录的买家数据以及用户自身的购买记录为基础,向用户提供推荐信息;
3、电商商家时刻优化网站性能,如 A/B Test 划分来访流量,并区别对待来源不同的访客,进而找到最优的产品、内容和价格;
4、购买流程早在买家访问网站前,即在社交网络、邮件以及在线社区中便已开始,即长漏斗流程(以一条推文、一段视频或一个链接开 始,以购买交易结束)。相关数据指标:关键词和搜索词、推荐接受率、邮件列表/短信链接点入率
1)总体运营指标:从流量、订单、总体销售业绩、整体指标进行把控,起码对运营的电商平台有个大致了解,到底运营的怎么样,是亏是赚。
2)站流量指标:即对访问你网站的访客进行分析,基于这些数据可以对网页进行改进,以及对访客的行为进行分析等等。
3)销售转化指标:分析从下单到支付整个过程的数据,帮助你提升商品转化率。也可以对一些频繁异常的数据展开分析。
4)客户价值指标:这里主要就是分析客户的价值,可以建立 RFM 价值模型,找出那些有价值的客户,精准营销等等。
5)商品类指标:主要分析商品的种类,那些商品卖得好,库存情况,以及可以建立关联模型,分析那些商品同时销售的几率比较高,而
进行捆绑销售,有点像啤酒和尿布的故事。
6)市场营销活动指标,主要监控某次活动给电商网站带来的效果,以及监控广告的投放指标。
7)风控类指标:分析卖家评论,以及投诉情况,发现问题,改正问题
8)市场竞争指标:主要分析市场份额以及网站排名,进一步进行调整
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。