大数据技术之Flink电商用户行为分析系统(用户画像)

一、主流的批处理和流处理框架

在这里插入图片描述

  1. Hadoop中的MapReduce只能做离线计算,也就是批处理,并且基于磁盘计算,属于IO密集型,Shuffle阶段需要大量算力,并且只有map和reduce
  2. Spark作为一个微批处理的大数据计算框架,主要作用就是类似MapReduce,Spark Streaming可以实现传统意义上的流式计算,但是正如开头所说,属于微批处理,不是完全的实时,但是Spark基于内存运算,计算能力非常强大
  3. Storm是真正的流式处理,来一条数据处理一条,但是对于超大流量Storm的处理并不太好
  4. 最近几年兴起的Flink,作为和Spark一样的计算框架,利用Hadoop作为数据存储,利用Flink进行计算,Flink是真正的满足实时性要求的计算框架,可以实现毫秒级的响应,面向真正的流数据,以一行一行为计算单位,速度很快

二、Flink相关介绍

2.1 批处理

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

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

2.2 流处理

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

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

三、电商用户行为分析指标

  • 统计分析
  1. 点击、浏览
  2. 热门商品、近期热门商品、分类热门商品、流量统计
  • 偏好统计
  1. 收藏、喜欢、评分、打标签
  2. 用户画像,推荐列表(结合特征工程和集器学习算法)
  • 风险控制
  1. 下订单、支付、登录
  2. 刷单监控,订单失效监控,恶意登录(短时间内频繁登录失败)监控

四、项目环境

    Windows10、Centos7(三集群,三台分别都是6G,8核)、Idea2019.3、Maven3.3.9、Flink1.7.2、kafka2.11-2.1.0、sacla2.1.18、jdk1.8

五、项目主要模块

  • 热门统计
        利用用户的点击浏览行为,进行流量统计、近期热门商品统计等。
  • 偏好统计
        利用用户的偏好行为,比如收藏、喜欢、评分等,进行用户画像分析,给出个性化的商品推荐列表。
  • 风险控制
        利用用户的常规业务行为,比如登录、下单、支付等,分析数据,对异常情况进行报警提示。
  • 说明
        本项目限于数据,只实现热门统计和风险控制中的部分内容,将包括以下四大模块:实时热门商品统计、实时流量统计、恶意登录监控和订单支付失效监控。并由于对实时性要求较高,用flink作为数据处理的框架。综合运用flink的各种API,基于EventTime去处理基本的业务需求,并且使用底层的processFunction,基于状态编程和CEP去处理更加复杂的情形。

六、数据源解析

    一共是五份淘宝用户行为数据集,保存为 csv 文件。此数据集包含了淘宝上某一天随机一百万用户的所有行为(包括点击、购买、收藏、喜欢)。数据集的每一行表示一条用户行为,由用户 ID、商品 ID、商品类目 ID、行为类型和时间戳组成,并以逗号分隔,分别保存在每一个分项目的resource中

七、项目GitHub地址

    Flink电商用户行为分析系统(用户画像)Github地址
    可Fork可Clone

八、项目Gitee地址

    Flink电商用户行为分析系统(用户画像)Gitee地址
    可Fork可Clone

九、项目源码下载

    Flink电商用户行为分析系统(用户画像)源码下载
    直接下载即可

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IronmanJay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值