logo资料库

大数据项目之电商分析平台.pdf

第1页 / 共93页
第2页 / 共93页
第3页 / 共93页
第4页 / 共93页
第5页 / 共93页
第6页 / 共93页
第7页 / 共93页
第8页 / 共93页
资料共93页,剩余部分请下载后查看
第一章 项目框架
1.1 项目概述
1.2 项目框架
1.2.1 项目整体框架
1.2.2 离线日志采集宏观流程
1.2.3 实时日志采集宏观流程
1.2.4 离线/实时日志采集框架
1.3 数据分析
1.3.1 离线数据分析
1.3.2 在线数据分析
1.4 项目需求
1.3.1 用户访问session统计
1.3.2 页面单跳转化率统计
1.3.3 区域热门商品统计
1.3.4 广告流量实时统计
第二章 预备知识
2.1 Scala
2.1.1 Scala操作符
2.1.2 拉链操作
2.2 SparkCore
2.2.1. Spark RDD持久化
2.2.3 Spark 共享变量
2.3 SparkSQL
2.3.1 RDD、DataFrame与DataSet
2.3.2 DataSet与RDD互操作
2.3.3 RDD、DataFrame与DataSet之间的转换
2.3.4 用户自定义聚合函数(UDAF)
2.3.5 开窗函数
2.4 SparkStreaming
2.4.1 Dstream transformation算子概览
2.4.2 Dstream updataStateByKey算子
2.4.3 窗口操作
2.4.4 Receiver与Direct
2.5 Java
2.5.1 对象池
第三章 程序框架解析
3.1 模块分析
3.1.1 commons模块
3.1.2 mock模块
3.1.3 analyse模块
第四章 需求解析
4.1 需求一:Session各范围访问步长、访问时长占比统计
4.1.1 需求解析
4.1.2 数据源解析
4.1.3 数据结构解析
4.1.4 需求实现流程
4.1.5 MySQL存储结构解析
4.1.6 代码解析
4.2 需求二:Session随机抽取
4.2.1 需求解析
4.2.1 数据源解析
4.2.3 数据结构解析
4.2.4 需求实现流程
4.2.5 MySQL存储结构解析
4.2.6 代码解析
4.3 需求三:Top10热门品类
4.3.1 需求解析
4.3.2 数据源解析
4.3.3 数据结构解析
4.3.4 需求实现流程
4.3.5 MySQL存储结构解析
4.3.6 代码解析
4.4 需求四:Top10热门品类Top10活跃Session统计
4.4.1 需求解析
4.4.2 数据源解析
4.4.3 数据结构解析
4.4.4 需求实现流程
4.4.5 MySQL存储结构解析
4.4.6 代码解析
4.5 需求五:页面转化率统计
4.5.1 需求解析
4.5.2 数据源解析
4.5.3 数据结构解析
4.5.4 需求实现流程
4.5.5 MySQL存储结构解析
4.5.6 代码解析
4.6 需求六:各区域Top3商品统计
4.6.1 需求解析
4.6.2 数据源解析
4.6.3 数据结构解析
4.6.4 需求实现流程
4.6.5 MySQL存储结构解析
4.6.6 代码解析
4.7 需求七:广告黑名单实时统计
4.7.1 需求解析
4.7.2 数据源解析
4.7.3 数据结构解析
4.7.4 需求实现流程
4.7.5 MySQL存储结构解析
4.7.6 代码解析
4.8 需求八:广告点击量实时统计
4.8.1 需求解析
4.8.2 数据源解析
4.8.3 数据结构解析
4.8.4 需求实现流程
4.8.5 MySQL存储结构解析
4.8.6 代码解析
4.9 需求九:各省热门广告实时统计
4.9.1 需求解析
4.9.2 数据源解析
4.9.3 数据结构解析
4.9.4 需求实现流程
4.9.5 MySQL存储结构解析
4.9.6 代码解析
4.10 需求十:最近一小时广告点击量实时统计
4.10.1 需求解析
4.10.2 数据源解析
4.10.3 数据结构解析
4.10.4 需求实现流程
4.10.5 MySQL存储结构解析
4.10.6 代码解析
第五章 项目总结
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 尚硅谷大数据项目之电商分析系统 (作者:章鹏) 官网:www.atguigu.com 版本:V1.0 第一章 项目框架 1.1 项目概述 本项目来源于企业级电商网站的大数据统计分析平台, 该平台以 Spark 框架为 核心,对电商网站的日志进行离线和实时 分析。 该大数据分析平台 对电 商网站的各种用户 行为 (访问行为、购物 行为 、广告点 击行为等)进行分析,根据平台统计出来的数据,辅助公司中的 PM(产品经理)、 数据分析师以及管理 人 员分析现有产品的情 况 ,并根据用户行为分 析 结果持续改进 产品的设计,以及调 整 公司的战略和业务。 最 终达到用大数据技术 来 帮助提升公司 的业绩、营业额以及市场占有率的目标。 本项目使用了 Spark 技术生态栈中最常用的三个技术框架, Spark Core、 Spark SQL 和 Spark Streaming,进行离线计算和实时计算业务模块的开发。实现了包括用 户访问 session 分析、页面单跳转化率统计、热门商品离线统计、广告流量实时统计 4 个业务模块。通过 合 理的将实际业务模块 进 行技术整合与改造, 该 项目几乎完全 涵盖了 Spark Core、 Spark SQL 和 Spark Streaming 这三个技术框架中大部分的功能 点、知识点,学员对于 Spark 技术框架的理解将会在本项目中得到很大的提高。 图 1-1 Spark 计数框架 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 1.2 项目框架 1.2.1 项目整体框架 图 1-2 项目整体框架 本项目分为离线分析系统与实时分析系统两大模块。 在离线分析系统中,我们将模拟业务数据写入 Hive 表中,离线分析系统从 Hive 中获取数据,并根据实际需求(用户访问 Session 分析、页面单跳转化率 分析、各区 域热门商品统计)对数据进行处理,最终将分析完毕的统计数据存储到 MySQL 的 对应表格中。 在实时分析系统中,我们将模拟业务数据写入 Kafka 集群中,实时分析系统从 Kafka broker 中获取数据,通过 Spark Streaming 的流式处理对广告点击流量进行实 时分析,最终将统计结果存储到 MySQL 的对 应表格中。 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 1.2.2 离线日志采集宏观流程 图 1-3 离线日志采集宏观流程 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 1.2.3 实时日志采集宏观流程 图 1-4 实时日志采集宏观流程 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 1.2.4 离线/实时日志采集框架 图 1-5 离线/实时日志采集框架 图 1-5 是一个企业级的日志处理框架, 这一框架实现了对日志信息进行采集、 汇总、清洗、聚合、 分 析的完整过程,并将 日 志数据分别存储到了 离 线和实时数据 处理模块中,使得分 析 系统可以通过 离线和 实 时两个角度对数据进 行 分析统计 ,并 根据统计结果指导业务平台的改良和优化。 1.3 数据分析 1.3.1 离线数据分析 1. user_visit_action user_visit_action 表,存放网站或者 APP 每天的点击流数据。通俗地讲,就是用 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 户对网站/APP 每点击一下,就会产生一条存放在这个表里面的数据。 user_visit_action 表中的字段解析如表 1-1 所示: 图 1-6 user_visit_action 表 表 1-1 user_visit_action表字段解析 字段名称 date user_id session_id page_id action_time search_keyword 说明 日期,代表这个用户点击行为是在哪一天 发生的 用户 ID,唯一地标识某个用户 Session ID,唯一地标识某个用户的一个访 问 session 页面 ID,点击了某些商品/品类,也可能是 搜索了某个关键词,然后进入了某个页面, 页面的 id 动作时间,这个点击行为发生的时间点 搜索关键词,如果用户执行的是一个搜索 行为,比如说在网站/app 中,搜索了某个关 键词,然后会跳转到商品列表页面; click_category_id 点击品类 ID,可能是在网站首页,点击了 click_product_id order_category_ids 某个品类(美食、电子设备、电脑) 点击商品 ID,可能是在网站首页,或者是 在商品列表页,点击了某个商品(比如呷哺 呷哺火锅 XX 路店 3 人套餐、iphone 6s) 下单品类 ID,代表了可能将某些商品加入 了购物车,然后一次性对购物车中的商品下 了一个订单,这就代表了某次下单的行为中, 有哪些商品品类,可能有 6 个商品,但是就 对应了 2 个品类,比如有 3 根火腿肠(食品 品类),3 个电池(日用品品类) order_product_ids 下单商品 ID,某次下单,具体对哪些商品 pay_category_ids 下的订单 付款品类 ID,对某个订单,或者某几个订 单,进行了一次支付的行为,对应了哪些品 类 pay_product_ids 付款商品 ID,支付行为下,对应的哪些具 city_id 城市 ID,代表该用户行为发生在哪个城市 体的商品 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— 2. user_info user_info 表,是一张普通的用户基本信息表;这张表中存放了网站 /APP 所有注 册用户的基本信息。 图 1-7 user_info 表 user_i 表中的字段解析如表 1-1 所示: 表 1-2 user_info表字段解析 字段名称 user_id username name age professional city sex 说明 用户 ID,唯一地标识某个用户 用户登录名 用户昵称或真实姓名 用户年龄 用户职业 用户所在城市 用户性别 3. product_info product_info 表,是一张普通的商品基本信息表;这张表中存放了网站 /APP 所 有商品的基本信息。 图 1-8 product_info 表 表 1-3 product_info表字段解析 说明 商品 ID,唯一地标识某个商品 商品名称 额外信息,例如商品为自营商品还是第三 方商品 字段名称 proudct_id product_name extend_info 1.3.2 在线数据分析 程序每 5 秒向 Kafka 集群写入数据,格式如下: 格式 : timestamp province city userid adid 字段名称 取值范围 表 1-4 在线数据分析 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
尚硅谷大数据项目之电商分析平台 ————————————————————————————— timestamp userId provice/city 当前时间毫秒 0 – 99 1 – 9 ((0L," 北 京 "," 北 京 "),(1L," 上 海 "," 上 海 "),(2L," 南 京 "," 江 苏 省 "),(3L,"广州","广东省"),(4L,"三亚","海南省"),(5L,"武汉","湖北省 "),(6L,"长沙","湖南省"),(7L,"西安","陕西省"),(8L,"成都","四川省 "),(9L,"哈尔滨","东北省")) adid 0 - 19 1.4 项目需求 图 1-9 需求概述 1.3.1 用户访问 session 统计 用户在电商网站上 ,通 常会有很多的访问 行为 ,通常都是进入首 页, 然后可能 点击首页上的一些商 品 ,点击首页上的一些 品 类,也可能随时在搜 索 框里面搜索关 键词,还可能将一些 商 品加入购物车,对购 物 车中的多个商品下订 单 ,最后对订单 中的多个商品进行支付。 用户的每一次操作,其实可以理解为一个 action,在本项目中,我们关注 点击、 搜索、下单、支付这四个用户行为。 用户 session,是在电商平台的角度定义的会话概念,指的就是,从用户第一次 进入首页,session 就开始了。然后在一定时间范围内,直到最后操作完(可能做了 几十次、甚至上百次 操 作),离开网站,关 闭 浏览器,或者长时间 没 有做操作,那 么 session 就结束了。 以上用户在网站内的访问过程,就称之为一次 session。简单理解,session 就是 某一天某一个时间段内,某个用户对网站从打开 /进入,到做了大量操作,到最后关 闭浏览器。的过程,就叫做 session。 session 实 际 上 就 是 一 个 电 商 网 站 中 最 基 本 的 数 据 和 大 数 据 。 那 么 面 向 消 费 者 / 【更多 Java、HTML5、Android、python、大数据 资料下载,可访问尚硅谷(中国)官 网下载区】
分享到:
收藏