电商大数据项目——推荐系统实战(一)

  

电商大数据项目——推荐系统实战(一)环境搭建以及日志,人口,商品分析
https://blog.51cto.com/6989066/2325073
电商大数据项目——推荐系统实战之推荐算法
https://blog.51cto.com/6989066/2326209
电商大数据项目——推荐系统实战之实时分析以及离线分析https://blog.51cto.com/6989066/2326214

  

开源项目,请勿用于任何商业用途。
源代码地址:https://github.com/asdud/Bigdata_project

  

本项目是基于火花MLLib的大数据电商推荐系统项目,使用了scala语言和java语言。基于python语言的推荐系统项目会另外写一篇博客。在阅读本博客以前,需要有以下基础:
1. linux的基本命令
2。至少有高中及以上的数学基础。
3。至少有java se基础,scala会语言和java EE更佳(Jave EE非必需,但是可以帮助你更快理解项目的架构)。
4。有github账户,并且至少知道git克隆,叉,分支的概念。
5。有网络基础,至少知道服务器端和客户端的区别。
6。有大数据基础,最好会Hadoop, HDFS, MapReduce, Sqoop, HBase,蜂巢,火花,风暴。
7。有mysql数据库基础,至少会最基本的增删改查。
你要是大神,估计看这篇博客也没有任何用处,至少给点意见和建议呗!

  

电脑配置要求
1. CPU:主CPU流即可
2。内存内存:至少8 g,推荐16 g及以上,32 g不浪费。
3。硬盘:由于VM对I/O流读取速度要求高,推荐使用256克及以上固态硬盘(SATA3即可.NVME更好),系统盘需要60 - 100 g,其余的专门划一个盘用于安装虚拟机。或者采用傲腾内存+机械硬盘的方案。
关于傲腾内存的介绍和装机方法
https://product.pconline.com.cn/itbk/diy/memory/1806/11365945.html
4. gpu显卡;无要求。但是如果你想学习深度学习框架的话,可考虑1060 6 g甚至是2080 ti。
5。网速:CentOS 8 gb多,黄芪丹参滴丸接近7个G,鼎晖几个包加起来2.5 G。自己算算需要下载多长时间,或者考虑用U盘从别人那里拷贝?

  

你也可以考虑用阿里云,腾讯云等云主机。

  

步骤一:
搭建CentOS +黄芪丹参滴丸的环境,或者CentOS +鼎晖的环境,这些都是开源的,不用担心版权问题,企业上一般也是用这两种方案。

  

在这里我采用的是CentOS +黄芪丹参滴丸的方案
大数据之搭建黄芪丹参滴丸环境,以三个节点为例(上——部署主节点以及服务)
https://blog.51cto.com/6989066/2173573
大数据之搭建黄芪丹参滴丸环境,以三个节点为例(下——扩展节点,删除节点,以及部署其他服务)https://blog.51cto.com/6989066/2175476

  

也可以采用CentOS +鼎晖的方案
搭建鼎晖实验环境,以三个节点为例的安装配置https://blog.51cto.com/6989066/2296064

  

开发工具:Eclipse氧气版本或者想法
代码实现部分
1。数据:用户查询日志来源
搜狗实验室
.北京://www.sogou.com/labs/resource/q.php
我选的迷你版
介绍:
搜索引擎查询日志库设计为包括约1个月(2008年6月)搜狗搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。为进行中文搜索引擎用户行为分析的研究者提供基准研究语料

  

格式说明:
数据格式为

  

访问时间\ t用户ID \ t[查询词]\ t该URL在返回结果中的排名\ t用户点击的顺序号\ t用户点击的URL

  

其中,用户ID是根据用户使用浏览器访问搜索引擎时的饼干信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID

  

2。首先新建一个Maven工程MyMapReduceProject,然后更新pom.xml文件
pom文件地址
https://github.com/asdud/Bigdata_project/blob/master/MyMapReduceProject/pom.xml
电商大数据项目——推荐系统实战(一)
这个时候就会自动下载对应的依赖的jar包

  

(一)案例1:搜狗日志查询分析
?查询搜索结果排名第1点,击次序排在第2的数据
使用MapReduce进行分析处理
https://github.com/asdud/Bigdata_project/blob/master/MyMapReduceProject/src/main/java/day0629/sogou/SogouLogMain.java
https://github.com/asdud/Bigdata_project/blob/master/MyMapReduceProject/src/main/java/day0629/sogou/SogouLogMapper.java

  

?使用火花进行分析和处理
首先使用洋麻,添加Spark2的服务,由于依赖其他的服务,比如蜂巢等等,需要在启动洋麻服务器的时候,指定MySQL的JDBC驱动。
登录spark-shell,需要用下面的方式:
spark-shell——主yarn-client
电商大数据项目——推荐系统实战(一)

电商大数据项目——推荐系统实战(一)