源于企业级电商网站的大数据统计分析平台,该平台以 Spark 框架为核心,对电商网站的日志进行离线和实时分析。
该大数据分析平台对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行分析,根据平台统计出来的数据,辅助公司中的
PM(产品经理)、数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。
1.2 项目整体框架
1.3 业务需求分析
项目分为 离线分析系统 与 实时分析系统 两大模块
在离线分析系统中,我们将模拟业务数据写入 Hive 表中,离线分析系统从 Hive
中获取数据,并根据实际需求(用户访问 Session
分析、页面单跳转化率分析、各区域热门商品统计)对数据进行处理,最终将分析完毕的统计数据存储到
MySQL 的对应表格中。
在实时分析系统中,我们将模拟业务数据写入
Kafka 集群中,实时分析系统从
Kafka broker 中获取数据,通过 Spark Streaming 的流式处理对广告点击流量进行实时分析,最终将统计结果存储到 MySQL
的对应表格中。
1.4 数据源分析
1.4.1 user_visit_action
存放网站或者 APP 每天的点击流数据
字段名称 | 说明 |
---|---|
date | 日期,代表这个用户点击行为是在哪一天发生的 |
user_id | 用户 ID,唯一标识某个用户 |
session_id | Session ID,唯一标识某个用户的一个访问 session |
page_id | 页面 ID,点击了某些商品/品类,也可能是搜索了某个关键词,然后进入了某个页面,页面的 id |
action_time | 动作时间,这个点击行为发生的时间点 |
search_keyword | 搜索关键词,如果用户执行的是一个搜索行为,比如说在网站/app 中,搜索了某个关键词,然后会跳转到商品列表页面; |
click_category_id | 点击品类 ID,可能是在网站首页,点击了某个品类(美食、电子设备、电脑) |
click_product_id | 点击商品 ID,可能是在网站首页,或者是在商品列表页,点击了某个商品(比如呷哺呷哺火锅 XX 路店 3 人套餐、iphone 6s) |
order_category_ids | 下单品类 ID,代表了可能将某些商品加入了购物车,然后一次性对购物车中的商品下了一个订单,这就代表了某次下单的行为中,有哪些商品品类,可能有 6 个商品,但是就对应了 2 个品类,比如有 3 根火腿肠(食品品类),3 个电池(日用品品类) |
order_product_ids | 下单商品 ID,某次下单,具体对哪些商品下的订单 |
pay_category_ids | 付款品类 ID,对某个订单,或者某几个订单,进行了一次支付的行为,对应了哪些品类 |
pay_product_ids | 付款商品 ID,支付行为下,对应的哪些具体的商品 |
city_id | 城市 ID,代表该用户行为发生在哪个城市 ,和城市信息表做关联 |
1.4.2 user_info
普通的用户基本信息表;这张表中存放了网站/APP 所有注册用户的基本信息
字段名称 | 说明 |
---|---|
user_id | 用户 ID,唯一标识某个用户 |
username | 用户登录名 |
name | 用户昵称或真实姓名 |
age | 用户年龄 |
professional | 用户职业 |
gender |