目 录
1.设计目标
2.关键技术研究
3.实验环境准备
4.本地数据集上传到数据仓库Hive
5.Hive数据分析
6.Hive、MySQL、HBase数据互导
7.进行数据可视化分析
8.总结
一、设计目标
1、用户行为数据采集:通过数据采集技术,将电商系统前台的用户的所有行为数据进行实时的采集,并存储在大数据存储系统中。这些数据包括用户的浏览、搜索、加入购物车、提交订单等行为。
2、数据清洗与处理:通过数据清洗和处理技术,将采集到的原始数据进行处理,以消除错误和重复的数据,为后续的数据分析提供准确的基础。
3、用户行为分析:通过数据分析技术,对处理后的用户行为数据进行深入的分析。这包括用户活跃度、购买习惯、购买频率、购买时间等方面的分析。
4、数据可视化:通过数据可视化技术,将分析后的数据以图表、图像等形式呈现,以便更直观地理解和分析用户行为。
5、 用户购物行为预测:通过机器学习等技术,根据用户的历史购物行为,预测其未来的购物行为,从而为电商网站的运营提供有价值的参考。
6、优化电商运营:根据用户行为分析和预测结果,为电商网站的运营提供优化建议,例如调整产品陈列、优化购物流程、改进客户服务等。
7、个性化推荐:根据用户的购物行为和偏好,为其提供个性化的产品推荐,提高购买转化率和用户满意度。
8、营销策略制定:根据用户行为分析和预测结果,制定更精准的营销策略,例如定向广告投放、优惠券发放等,以提高营销效果。
。
(1)研究背景()
1、电商行业的快速发展:
近年来,电商行业在全球范围内快速发展,用户规模和交易规模不断扩大。在这个背景下,电商网站的用户购物行为成为了一个重要的研究领域,通过对用户购物行为的分析,可以帮助电商网站提高运营效率,提升用户体验,促进销售增长。
2、数据驱动的决策:
随着大数据技术的不断发展,越来越多的企业开始采用数据驱动的决策方式。对于电商网站来说,通过对用户购物行为的分析,可以更好地理解用户需求,优化产品陈列,改进购物流程,提高服务质量,从而提升网站的竞争力和用户满意度。
3、用户行为研究的复杂性:
电商用户的购物行为是一个复杂的过程,包括浏览、搜索、加入购物车、提交订单等多个环节。每个环节都受到多种因素的影响,如产品价格、促销活动、网站界面设计等。因此,对电商用户购物行为的研究需要深入理解用户的心理和行为特点,以及影响用户行为的多种因素。
4、可视化技术的进步:
可视化技术可以帮助人们更好地理解和分析数据。在电商领域,通过将用户购物行为数据以图表、图像等形式呈现,可以帮助电商网站更好地理解用户需求和行为模式,从而优化网站的运营策略。
二、关键技术研究(对于各项技术的理解)
1.数据采集:电商网站用户购物行为数据包括用户的浏览、搜索、加入购物车、提交订单等行为,这些数据需要在电商系统的各个前端页面进行采集,并传输到后端的数据存储系统中。数据采集的技术包括前端JavaScript代码、后端服务器日志记录等。
2.数据清洗与处理:采集到的原始数据可能存在错误和重复,需要进行数据清洗和处理,以消除这些错误和重复,为后续的数据分析提供准确的基础。数据清洗和处理的技技术包括数据过滤、数据变换、数据归一化等。
3.用户行为分析:对处理后的用户行为数据进行深入的分析,包括用户活跃度、购买习惯、购买频率、购买时间等方面的分析。用户行为分析的技术包括聚类分析、关联规则挖掘、序列模式挖掘等。
4.数据可视化:将分析后的数据以图表、图像等形式呈现,以便更直观地理解和分析用户行为。数据可视化的技术包括图表绘制、图像处理等。
5.用户购物行为预测:根据用户的历史购物行为,预测其未来的购物行为,从而为电商网站的运营提供有价值的参考。用户购物行为预测的技术包括回归分析、决策树、神经网络等。
6.总结:这些关键技术的应用可以帮助电商网站更好地理解用户需求和行为模式,优化网站的运营策略,提高网站的竞争力和用户满意度。同时,这些技术也可以帮助电商网站更好地制定营销策略,提高营销效果,促进销售增长.
三、实验环境准备(实验方案的选择、实施方法准备、硬件和软件的准备、HADOOP集群的部署、Hive\HBase的部署、可视化及其他软件的部署)
实验方案的选择:使用伪分布搭建集群(含 Hadoop\Zookeeper\HBase\Phoenix)
实施方法准备:完全使用 DataX 对数据进行了互导
(1)安装Linux操作系统
(2)安装关系型数据库MySQL
(3)安装大数据处理框架Hadoop
(4)安装列族数据库HBase
(5)安装数据仓库Hive
(6)安装DataX或Sqoop
(7)安装Echarts\Python或R
(8)安装Idea或Eclipse
(9)对文本文件形式的原始数据集进行预处理
(10)把文本文件的数据集导入到数据仓库Hive中
(11)对数据仓库Hive中的数据进行查询分析
(12)使用DataX(Sqoop)将数据从Hive导入MySQL
(13)使用DataX(Sqoop)将数据从MySQL导入HBase
(14)使用HBase Java API把数据从本地导入到HBase中
(15)使用R/Python(Echarts)对MySQL中的数据进行可视化分析
HADOOP集群的部署、Hive\HBase的部署、可视化及其他软件的部署:已部署
软件总体概览图:
用户用例图:
系统用例图
四、本地数据集上传到数据仓库Hive
在/usr/local目录下,创建bigdatacase目录,并赋予权限。在/usr/local/bigdatacase目录下,创建dataset目录用来保存数据集。
获取数据集,复制到dataset目录下
查看前5条记录
1、对数据集进行预处理
删除文件第一行记录,即字段名称,并查看前5条记录
2、对字段进行预处理,编辑一个pre_deal.sh脚本文件
对small_user.csv进行预处理,生成user_table.txt并查看前10条记录
3、导入数据库
启动HDFS
执行jps查看当前运行的进程
把user_table.txt上传到HDFS中
首先,在HDFS目录下创建bigdatacase,并创建子目录dataset
把Linux本地文件系统中的user_table.txt上传到分布式文件系统HDFS的“/bigdatacase/dataset”目录下
在HDFS中查看user_table.txt的前10条记录
在Hive上创建数据库
首先,启动MySql数据库
启动Hive
创建数据库dblab
创建外部表
查询数据
五、Hive数据分析
1、操作Hive
启动MyS ql数据库,启动Hadoop,启动Hive;
使用dblab数据库,显示数据库中所以表,查看sdata_user表的各种属性
查看表的简单结构
2、简单查询分析
查看前10位用户对商品的行为
查询前20位用户购买商品时的时间和商品的种类
在表中查询可以利用嵌套语句查询
3、查询条数统计分析
用聚合函数count()计算出表内有多少条行数据
hive> select count(*) from sdata_user;
在函数内部加上distinct,查出uid不重复的数据有多少条
hive> select count(distinct uid) from sdata_user;
查询不重复的数据有多少条(为了排除客户刷单情况)
hive>select count() from (select uid,item_id,behavior_type,item_category,visit_date,province from sdata_user group by uid,item_id,behavior_type,item_category,visit_date,province having ()=count1)a;
关键字查询分析
(1)查询2014年12月10日到2014年12月13日有多少人浏览了商品
(2)以月的第n天为统计单位,依次显示第n天网站卖出去的商品的个数
2.关键字赋予给定值为条件,对其他数据进行分析
根据用户行为分析
1.查询一件商品在某天的购买比例或浏览比例
2.查询某个用户在某一天点击网站占该天所有点击行为的比例(点击行为包括浏览,加入购物车,收藏,购买)
3..给定购买商品的数量范围,查询某一天在该网站的购买该数量商品的用户id
用户实时分析
某个地区的用户当天浏览网站的次数
六、Hive、MySQL、HBase数据互导
Hive预操作
1、创建临时表user_action
2、将bigdata_user表中的数据插入到user_action(执行时间:10秒左右)
使用Datas将从Hive到MySQL
编写datax的json文件,并运行
进入mysql查看前10条数据
利用datax将mysql的数据导入hbase中:
create ‘user_action’, { NAME => ‘f1’, VERSIONS => 5}
利用java API 将数据从本地导入hbase
七、进行数据可视化分析
mysql -h 192.168.189.130 -u root -p123
使用Python代码,用于连接到MySQL数据库并从中读取数据:
创建数据库引擎。引擎用于连接和操作数据库。这里使用的是mysql+pymysql作为数据库连接协议,使用pymysql作为MySQL的驱动来连接数据库。
1统计用户的不同行为类型(如点击、收藏、加入购物车、支付)的数量,并使用饼状图可视化这些行为的分布情况:
pie_base_dict_config 是一个字典,用于配置饼状图的各项参数。
2分析哪一类商品被购买总量前十的商品和被购买总量,使用散点图展示这些商品的销售量。
3分析每年的哪个月份购买商品的量最多
4分析国内哪个省份的消费者最有购买欲望,并使用PyEcharts库生成一个中国各省份的地图
八、课程设计总结
报错问题以及解决方法:
问题(1)
报错内容:Hive metastore database is not initialized
解决方法:在/opt/hive/conf目录下,运行schematool -initSchema -dbType mysql
问题(2)
报错内容:
找不到或无法加载类主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
解决方法:
1、查找Hadoop位置hadoop classpath;2、在所有查询到的路径粘贴到配置文档yarn-site.xml中,3、重新启动Hadoop环境。