基于Spark协同过滤算法的推荐系统的设计与实现
•
大数据
文章目录
-
- 基于Spark协同过滤算法的推荐系统的设计与实现[已开源]
-
- 一、架构
-
- 1.1 总架构
- 1.2、数仓架构
- 4.3 功能设计
- 4.4 ER图
- 4.5 系统流程图
- 三、推荐系统展示
-
- 3.1用户界面
- 3.2管理员后台界面
- 4.1 docker-compose部署(暂时不能用,有懂的可以帮忙完善)
- 4.2 环境初始化
-
- 4.2.1 快捷脚本(Windows)
- 4.2.2 正常流程
- 4.3 项目启动
-
- 4.3.1 爬虫程序
-
- windows一键启动
- 正常启动
- 5.3.2 Web程序
-
- 配置settings.py
- 迁移数据库
- 导入测试数据
- windows一键启动
- 正常启动
- 5.3.3 ETL模块
-
- 环境搭建
- 初始化hive数据库
- 安装python库
- 执行ETL脚本
- 模型训练
- 开源地址
基于Spark协同过滤算法的推荐系统的设计与实现[已开源]
一、架构
1.1 总架构

1.2、数仓架构

4.3 功能设计

4.4 ER图

4.5 系统流程图

三、推荐系统展示
https://www.fiang.fun
3.1用户界面













3.2管理员后台界面


四、项目部署
4.1 docker-compose部署(暂时不能用,有懂的可以帮忙完善)
# docker build cd 项目目录/ docker build -f ./docker_env/django/DockerfileBuild -t django_docker_img:v1 . # 镜像保存 docker save -o django_docker_img.tar django_docker_img:v1 # docker build # 进项目目录 cd project/ docker build -f ./docker_env/web/DockerfileBuild -t vue_web_img:v1 . # 镜像保存 docker save -o vue_web_img.tar vue_web_img:v1 # 加载离线镜像 docker load -i django_docker_img.tar docker load -i vue_web_img.tar # docker-compose 创建并启动相应服务 cd 项目目录/ docker-compose up -d
4.2 环境初始化
4.2.1 快捷脚本(Windows)
- 下载Anaconda
- 运行env-init.bat
- 注意控制台信息,需要输入两个y
4.2.2 正常流程
-
下载Anaconda
-
创建虚拟环境
- 爬虫环境
conda create -n jobfreeSpider python=3.8 pip install -r .\spiderProject\requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
- Web环境
conda create -n jobfree python=3.8 pip install -r .\web-server\requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
-
下载MySQL和Redis数据库
4.3 项目启动
4.3.1 爬虫程序
windows一键启动
双击spder-start.bat
正常启动
-
切换至 jobfreeSpider环境
conda activate jobfreeSpider
-
启动scrapyd进程
scrapyd # 控制台输入 # windows输入 scrapyd 后收后台挂起,新建cmd执行后续 # Linux输入nohup scrapyd > scrapyd.log & + ctrl+D挂起
-
启动Gerapy
gerapy runserver 0.0.0.0:5000 # 控制台输入 # windows输入 gerapy runserver 0.0.0.0:5000 后收后台挂起 # Linux输入nohup gerapy runserver 0.0.0.0:5000 > gerapy.log & + ctrl+D挂起
-
浏览器打开http://127.0.0.1进入Gerapy,用户名密码admin/admin
-
点击项目管理-编辑

-
找到settings.py,修改redis和mysql为自己的配置,不用建表,自动建

-
修改完不用保存(自动保存),点击项目管理-部署

-
点击重新打包后,再点击部署即可(如果报错99%是你的数据库配置有问题,因为部署时会执行检查代码,连接不上就报错)

-
如果部署失败,查看scrapyd进程/日志
5.3.2 Web程序
配置settings.py
# web-server\DRF\settings.py
# SMTP邮箱设置,怎么申请请自行网上学习
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = '' # 邮箱SMTP服务器地址
EMAIL_HOST_USER = '' # 邮箱用户名
EMAIL_HOST_PASSWORD = '' # 邮箱密码
# EMAIL_USE_TLS = True # 使用TLS加密
DEFAULT_FROM_EMAIL = '' # 默认发件人邮箱
#redis
REDIS_HOST='127.0.0.1'
REDIS_PORT=6379
REDIS_PSW=''
REDIS_DB=1
#MySQL
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'jobfree',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': 3306,
'OPTIONS': {'charset': 'utf8mb4'},
},
}
迁移数据库
conda activate jobfree cd web-server python manage.py migrate
导入测试数据
ETL\test_data.sql,然后完成ETL模块再进行下一步运行
windows一键启动
双击web-start.bat
正常启动
cd web-server conda activate jobfree python manage.py runserver
5.3.3 ETL模块
环境搭建
有集群则跳过
Windows下使用hadoop+hive+sparkSQL-CSDN博客
初始化hive数据库
ETL\init.sql
安装python库
pip install findspark
执行ETL脚本
ETL\xxx目录下的py文件
模型训练
model\ALS.py
开源地址
https://github.com/854771076/Employment_referral
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/369bc424a2.html
