| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 大数据课程项目:基于Spark的热门品类Top10分析 -> 正文阅读 |
|
[大数据]大数据课程项目:基于Spark的热门品类Top10分析 |
1.案例需求分析与设计 1.1.案例背景 品类指商品所属分类,用户在访问电商网站时,通常会产生很多行为,例如查看商品的信息、将感兴趣的商品加入购物车和购买商品等,这些行为都将作为数据被网站存储。本案例我们将通过对电商网站存储的用户行为数据进行分析,从而统计出排名前10的热门品类。 1.2.案例目的 本案例通过用户行为数据实现热门品类Top10分析,首先对数据集进行分析,了解用户行为数据的数据结构。接着通过实现思路分析,了解热门品类Top10分析的实现流程。然后通过Jupyter Notebook开发工具实现热门品类Top10分析程序并将分析结果存储到HBase数据库,掌握运用Python语言编写Spark Core、Spark SQL和HBase程序的能力。 1.3.案例流程设计 本案例先用Pandas读取原数据集进行数据预处理,然后把处理完的数据放到HDFS中,通过PySpark去加载并进行数据分析,然后再用PyEcharts进行数据可视化,最后使用HBase来数据存储,如图1-1所示。 图1-1案例流程 1.4.实验环境 表1-1技术描述
? 2.数据预处理 2.1.数据存放 把user_session.csv数据集放到/home/hadoop/jupyternotebook目录下并查看前5条数据,如图2-1所示。 图2-1查看数据集 由图2-1可得数据集有五个字段组成,具体如表2-1所示。 表2-1字段描述
2.2.异常数据处理 在Jupyter Notebook中新建一个Python文件,然后用Pandas读取数据集并显示,如图2-2所示。 图2-2读取数据集 查看数据集是否存在缺失值,如图2-3所示。 图2-3查看缺失值 经图2-3得所有字段缺失值都为0,然后再查看重复值,主要对字段user_id、item_id和action_type作重复值查看,避免用户重复操作行为,如图2-4所示。 图2-4查看重复值 由图2-4所得原数据集存在10条重复数据,需要把重复数据删除并再次查看重复值,如图2-5所示。 图2-5删除重复值 2.3.字段值变换处理 查看字段action_type存在多少种类型,方便后续作字段值变换处理,如图2-6所示。 图2-6查看字段类型 由图2-6可得字段action_type有三种类型,分别为点击(click)、购物车(cart)和订单(order)。然后把字段值转换成数字整型代替,方便后续作数据分析,如图2-7所示。
图2-7字段值转换
2.4.数据保存
把预处理好的数据覆盖原数据集,如图2-8所示。
? 图2-8保存数据
?数据如图所示 3.数据仓库 3.1.数据上传 在HDFS里创建一个user_action文件,并把数据集上传到文件里,如图3-1所示。 图3-1上传数据 3.2.数据查看 查看已经上传到HDFS的数据,确保已经成功上传并查看前5条数据,如图3-2所示。 ? 图3-2查看数据 4.数据分析 4.1.基于DSL统计分析 初始化PySpark环境并加载HDFS上的数据,如图4-1所示。 图4-1加载数据 对字段action_type进行统计,分析出用户通常会进行什么操作,如图4-2所示。 图4-2统计用户行为 对字段item_id进行统计,分析出最受欢迎的前十商品,如图4-3所示。 图4-3最受欢迎前十商品 对字段cat_id进行统计,分析出最受欢迎的前十品牌,如图4-4所示。 图4-4最受欢迎前十品牌 4.2.基于SQL统计分析 要使用Spark SQL进行统计分析先要创建一个临时表,如图4-5所示。 图4-5创建临时表 对字段action_type进行统计,分析出用户通常会进行什么操作,如图4-6所示。 ? 图4-6用户行为统计 对字段cat_id进行统计,分析出最受欢迎的前十商品,如图4-7所示。 ? ? 图4-7最受欢迎前十商品 对字段cat_id进行统计,分析出最受欢迎的前十品牌,如图4-8所示。 ? ? 图4-8最受欢迎前十品牌 5.数据可视化 5.1.饼图 对用户行为统计的结果用饼图展示,如图5-1所示。
图5-1饼图展示 5.2.柱状图 对最受欢迎前十商品的结果用柱状图展示,如图5-2所示。
图5-2柱状图展示 5.3.折线图 对最受欢迎前十品牌的结果用折线图展示,如图5-3所示。
图5-3折线图展示? ? 6.数据存储 6.1.创建表 新建一个终端启动HBase服务和HBase Shell交互式命令行,命令如下:
在HBase中创建了一个user_action表,这个表中有一个列族f1,历史版本保留数量为5,如图6-1所示。 图6-1创建表 6.2.插入数据 安装happybase和thrift库,命令如下:
在终端输入以下命令,因为Hbase是用Java写的,原生地提供了Java接口,如果用的是其他的语言,则需要开启连接原生地提供的thrift接口服务器。
此处遇到问题?: ? ? 错误原因: ?执行hbase?thrift start & hbase thrift start-port:9090? ? ?开启ThriftServer服务? ? ? ? (ThriftServer进程已开启)? ? ? 然后回到Jupyter Notebook连接HBase并插入“最受欢迎前十品牌”的数据,如图6-2所示。
图6-2插入数据 6.3.查看数据 然后在HBase Shell交互式命令行查看数据是否成功插入,如图6-3所示。 图6-3查看数据? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 19:41:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |