电商指标项目-背景及技术选型

1. 项目背景

1.1. 项目简介

公司有一个正在运营中的电商网站,名称叫做【京京购】。这是一个B2B2C的电商平台,类似京东。

现在我们想了解一下该电商网站的各种用户行为(访问行为、购物行为、点击行为等),统计出PV、UV等数据。

针对这样的大数据分析项目,我们可以采用MapReduce、Spark或者Flink来进行开发。

由于本项目会对实时数据和静态数据进行分析,所以我们采用性能更加优越的Flink来开发。

业务目标

  • 帮助产品经理、数据分析师以及管理人员分析现有产品的情况
  • 根据用户行为分析结果持续改进产品的设计
  • 调整公司战略和业务
  • 用大数据技术来帮助提升业绩、营业额以及市场占有率

常见电商模式

C2C–个人对个人 案例:淘宝、瓜子二手车

B2B–企业对企业 案例:阿里巴巴、慧聪网

B2C–企业对个人 案例:唯品会、乐蜂网

B2B2C -企业-企业-个人 案例:京东商城、天猫商城

C2B–个人对企业 案例:海尔商城、 尚品宅配

O2O–线上到线下 案例:美团、饿了么

1.2. 多维度指标分析

用户指标

在这里插入图片描述

商品指标

在这里插入图片描述

**电商小概念: **

SPU = Standard Product Unit (标准产品单位)SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。 例如:iPhone X 可以确定一个产品即为一个SPU。

**SKU **= Stock Keeping Unit(库存量单位)。一款商品有多个颜色,则是有多个SKU,例:一件衣服,有红色、白色、蓝色,则SKU编码也不相同,如相同则会出现混淆,发错货。 例如:iPhone X 64G 银色 则是一个SKU。

2. 项目整体介绍

2.1. 使用到的技术


  • 语言

    Java、scala

  • 框架

    Spring Boot、Hadoop、HBase、Kafka、Flink、Canal

2.2. 项目整体流程


在这里插入图片描述

  1. 上报服务系统将商城访问日志推送到kafka
  2. 数据库同步系统将mysql数据推送到kafka
  3. 实时分析系统消费kafka数据,经过分析后,下沉到HBase
  4. 实时同步系统消费kafka数据,下沉到HBase
  5. 批处理分析系统从hbase取出数据,进行数据分析
  6. web可视化平台展示HBase中的分析结果数据

3. 项目的技术选型

为什么要选择架构中的技术?

  • Kafka
  • Hbase
  • Canal
  • Flink

3.1. Kafka


Kafka是一种高吞吐量的分布式发布订阅消息系统。

  • 吞吐量高
    • 每秒达到几十万的数据
  • 速度快
    • 内存接力(消费者直接消费PageCache内存区数据)
  • 数据安全
    • 冗余机制可以有效避免消息丢失错误
    • 其中几台实例挂掉也可以继续工作
  • 高并发
    • 突发型流量可以将峰值的数据持久化,等到流量正常或低估时再取出消费

3.2. HBase


HBase是一个分布式的、面向列的开源数据库。

  • 业务不复杂

    • PV/UV、页面点击量、新鲜度(没有复杂SQL查询)
  • 实时电商平台

    • 存取海量的数据,一个表可以有上亿行,上百万列
  • 社区活跃

    Hbase社区非常大,Facebook、小米、网易等公司都在使用HBase

  • 高可用

    没有单点故障,高可用性高

3.3. Canal


数据库同步常用的有两种方案:

  • 方案1

    mysql --> logstash --> kafka --> flink --> hbase

  • 方案2

    mysql --> sqoop --> kafka --> flink-->hbase

上述方案存在的问题

logstash、sqoop还是需要使用SQL语句查询mysql,会给mysql增加压力,如果要跑大量数据的同步,会拖垮mysql

  • 解决方案

    mysql --> cannal(binlog) --> kafka --> flink --> hbase

cannal

Canal可以实时解析mysql的binlog日志,通过读取binlog日志,将数据输出到Kafka。不需要执行SQL语句,不会增加mysql压力

3.4. Flink


  • 速度要比Spark、MapReduce更快
  • 保证EXACTLY_ONCE
  • 容错更轻量级
  • 自动程序调优,自动避免性能消耗较大的操作(例如:shuffle、sort)
  • 高吞吐
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值