开源项目,请勿用于任何商业用途。
源代码地址:https://github.com/asdud/Bigdata_project
本项目是基于Spark MLLib的大数据电商推荐系统项目,使用了scala语言和java语言。基于python语言的推荐系统项目会另外写一篇博客。在阅读本博客以前,需要有以下基础:
1.linux的基本命令
2.至少有高中及以上的数学基础。
3.至少有java se基础,会scala语言和Java
EE更佳(Jave EE非必需,但是可以帮助你更快理解项目的架构)。
4.有github账户,并且至少知道git clone,fork,branch的概念。
5.有网络基础,至少知道服务器端和客户端的区别。
6.有大数据基础,最好会Hadoop,HDFS,MapReduce,Sqoop,HBase,Hive,Spark,Storm。
7.有mysql数据库基础,至少会最基本的增删改查。
你要是大神,估计看这篇博客也没有任何用处,至少给点意见和建议呗!
PC配置要求
1.CPU:主流CPU即可
2.内存RAM:至少8G,推荐16G及以上,32G不浪费。
3.硬盘:由于VM对I/O流读取速度要求高,推荐使用256G及以上固态硬盘(SATA3即可.NVME更好),系统盘需要60-100G,其余的专门划一个盘用于安装虚拟机。或者采用傲腾内存+机械硬盘的方案。
4.GPU显卡;无要求。但是如果你想学习深度学习框架的话,可考虑1060 6g甚至是2080TI。
5.网速:CentOS 8GB多,HDP接近7个G,CDH几个包加起来2.5G。自己算算需要下载多长时间,或者考虑用U盘从别人那里拷贝?
你也可以考虑用阿里云,腾讯云等云主机。
步骤一:
搭建CentOS+HDP的环境,或者CentOS+CDH的环境,这些都是开源的,不用担心版权问题,企业上一般也是用这两种方案。
在这里我采用的是CentOS+HDP的方案
大数据之搭建HDP环境,以三个节点为例(上——部署主节点以及服务)
http://blog.51cto.com/6989066/2173573
大数据之搭建HDP环境,以三个节点为例(下——扩展节点,删除节点,以及部署其他服务)
http://blog.51cto.com/6989066/2175476
也可以采用CentOS+CDH的方案
搭建CDH实验环境,以三个节点为例的安装配置
http://blog.51cto.com/6989066/2296064
开发工具:Eclipse oxygen版本或者IDEA
代码实现部分
1.数据:用户查询日志来源
搜狗实验室
.https://www.sogou.com/labs/resource/q.php
介绍:
搜索引擎查询日志库设计为包括约1个月(2008年6月)Sogou搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。为进行中文搜索引擎用户行为分析的研究者提供基准研究语料
格式说明:
数据格式为
访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL
其中,用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID
2.首先新建一个Maven工程MyMapReduceProject,然后更新pom.xml文件
pom文件地址
https://github.com/asdud/Bigdata_project/blob/master/MyMapReduceProject/pom.xml
这个时候就会自动下载对应的依赖的jar包
?查询搜索结果排名第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
?使用Spark进行分析和处理
首先使用Ambari,添加Spark2的服务;由于依赖其他的服务,比如Hive等等,需要在启动Ambari Server的时候,指定MySQL的JDBC驱动。
登录spark-shell,需要用下面的方式:
spark-shell --master yarn-client
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
jdbc-driver地址与你安装mysql-connector-java.jar目录对应。
原文地址:http://blog.51cto.com/6989066/2325073