# MovieRecOnline
本小组项目实现在线电影推荐系统的前后端开发,使用Django2.2+MySQL+spark。其中MySQL部分支持在线计算,spark支持离线计算。基于[MovieSizer](https://github.com/NanceEvan/MovieSizer),本项目精简美化,实现了新的功能。
## 目录
- [安装指南](#1)
- [数据导入](#2)
- [算法说明](#3)
- [预览](#4)
## <p id=1>安装指南
### 环境配置
本项目基于ubuntu18.04运行。
如下安装好Django2.0+和最新的xadmin
```bash
pip3 install --upgrade pip;
pip3 install git+git://github.com/sshwsfc/xadmin.git@django2;
pip3 install django;
pip3 install Pillow;
pip3 show xadmin;
pip3 show django;
```
还需要安装MySQL8.0+,具体过程可参考[MySQL8.0环境搭建](https://github.com/JimXiongGM/BigDataProject/blob/master/Documentations/MySql_8.0.md)
### 项目清理
Django框架需要通过migrate命令自动构建数据库,但是会生成相应的缓存文件,这里清空所有的缓存文件并保留应有的结构。
```bash
cd MovieRecOnline;
rm -r ./apps/movies/__pycache__
rm -r ./apps/operation/__pycache__
rm -r ./MovieSizer/__pycache__
rm -r ./apps/movies/migrations/*
rm -r ./apps/user/migrations/*;
rm -r ./apps/operation/migrations/*;
touch ./apps/movies/migrations/__init__.py
touch ./apps/user/migrations/__init__.py
touch ./apps/operation/migrations/__init__.py
```
### 配置MySQL数据库
首先修改`MovieRecOnline/MovieSizer/settings.py`文件的mysql数据库连接:
```py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'MovieSizer',
'USER': 'root',
'PASSWORD': '你的密码',
'HOST': 'master',
'PORT': '3306'
}
}
```
然后在MySQL shell中建立数据库`MovieSizer`
`mysql -u root -p`
```sql
use mysql;
create database MovieSizer;
```
### 启动项目
执行`migrate`自动建表:
```bash
cd MovieRecOnline;
chmod +x manage.py;
python3 manage.py makemigrations;
python3 manage.py migrate;
```
输出如下
```
Migrations for 'operation':
MovieSizer-final/apps/operation/migrations/0001_initial.py
- Create model Top5Recommend_2
- Create model Top5Recommend
- Create model Review
- Create model Rating
- Create model Default5Recommend
.
.
.
Operations to perform:
Apply all migrations: admin, auth, contenttypes, movies, operation, sessions, user, xadmin
Running migrations:
Applying operation.0001_initial... OK
.
.
.
```
最后创建管理员用户
```bash
python3 manage.py createsuperuser
```
启动项目
```bash
python3 manage.py runserver 0.0.0.0:8000
```
成功则输出如下
```
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
May 15, 2019 - 00:47:32
Django version 2.2, using settings 'MovieSizer.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.
[15/May/2019 00:47:37] "GET /movieinfo/7641 HTTP/1.1" 200 47740
^C
```
## <p id=2>数据导入
本项目提供爬取的猫眼电影网站数据作为DEMO,共1000条,字段对应`movies_movieinfo`表,[点击这里](./movies_movieinfo_DEMO.sql)可以看到该SQL文件,复制到MySQL shell中即可插入数据。
接着使用我们编写的[`cal_similar_gry.py`](./cal_similar_gry.py)文件计算电影相似度,存入`movies_moviesimilar`表。注意需要使用`pip3 install distance`安装依赖,并将MySQL账号密码的参数设置正确。
到这里我们已经计算好了`movies_movieinfo`表和`movies_moviesimilar`表,主页已经能显示。
## <p id=3>算法说明
本项目计算两张电影相似度表,分别是`movies_moviesimilar`和`movies_moviesimilar_fromspark`,对应两张推荐表`operation_top5recommend`和`operation_top5recommend_2`。第二张相似表由spark计算得出,详情可见['calculate_similarity_mch.ipynb'](./calculate_similarity_mch.ipynb)。spark分布式的安装可以参考[Spark全分布式安装](https://github.com/JimXiongGM/BigDataProject/blob/master/Documentations/Spark_distribute.md)
## <p id=4>预览
有时可以访问:http://www.playbigdata.top:8000/
效果预览:
![web预览](./index_save.png)
没有合适的资源?快使用搜索试试~ 我知道了~
基于Django2.2+MySQL+spark的在线电影推荐系统设计与实现.zip
共579个文件
png:229个
jpg:151个
js:62个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 58 浏览量
2023-07-31
15:27:55
上传
评论
收藏 10.46MB ZIP 举报
温馨提示
该资源真实可靠,代码都经测试过,能跑通。 快速:Apache Spark以内存计算为核心。 通用 :一站式解决各个问题,ADHOC SQL查询,流计算,数据挖掘,图计算完整的生态圈。只要掌握Spark,就能够为大多数的企业的大数据应用场景提供明显的加速。存储层:HDFS作为底层存储,Hive作为数据仓库 (Hive Metastore:Hive管理数据的schema) 离线数据处理:SparkSQL (做数据查询引擎<===> 数据ETL) 实时数据处理:Kafka + Spark Streaming 数据应用层:MLlib 产生一个模型 als算法 数据展示和对接:Zeppelin 选用考量: HDFS不管是在存储的性能,稳定性 吞吐量 都是在主流文件系统中很占有优势的 如果感觉HDFS存储还是比较慢,可以采用SSD硬盘等方案。存储模块:搭建和配置HDFS分布式存储系统,并Hbase和MySQL作为备用方案。 ETL模块:加载原始数据,清洗,加工,为模型训练模块 和 推荐模块 准备所需的各种数据。 模型训练模块:负责产生模型,以及寻找最佳的模型。 推荐模块:包含离线推荐和实时推荐,离线推荐负责把推荐结果存储到存储系统中实时推荐负责产生实时的消息队列,并且消费实时消息产生推荐结果,最后存储在存储模块中。 数据展示模块:负责展示项目中所用的数据。 数据流向:数据仓库怎么理解?两种东西,其一是IBM微软数据产品为代表的,其二是Hadoop+Hive+Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户连接到Hive。
资源推荐
资源详情
资源评论
收起资源包目录
基于Django2.2+MySQL+spark的在线电影推荐系统设计与实现.zip (579个子文件)
style.css 148KB
bootstrap.css 138KB
animate.css 69KB
base.css 62KB
aui.css 58KB
common-less.css 46KB
font-awesome.css 34KB
mobiscroll.css 25KB
common-less.css 21KB
mooc.css 20KB
course-comment.css 16KB
layer.css 11KB
cityLayout.css 10KB
learn-less.css 9KB
login.css 9KB
popuo-box.css 7KB
laydate.css 6KB
easy-responsive-tabs.css 6KB
table-style.css 5KB
zoomslider.css 5KB
lq.datetimepick.css 5KB
base.css 4KB
owl.carousel.css 4KB
laydate.css 3KB
layer.ext.css 3KB
reset.css 3KB
list.css 2KB
basictable.css 942B
Thumbs.db 275KB
Thumbs.db 0B
fontawesome-webfont.eot 75KB
glyphicons-halflings-regular.eot 20KB
background.gif 8KB
loading-0.gif 6KB
help_index_pic.gif 2KB
rolling.gif 2KB
loading-2.gif 2KB
select-arr-default.gif 1KB
pop-tips-info-arr.gif 1KB
loading-1.gif 701B
pixel.gif 43B
.gitattributes 26B
base.html 47KB
content.html 10KB
comments.html 6KB
register.html 5KB
login.html 5KB
index.html 3KB
sign.html 1KB
test.html 733B
duplicat.html 722B
ok.html 716B
err.html 704B
icon.ico 2KB
calculate_similarity_mch.ipynb 49KB
calculate_similarity_mch-checkpoint.ipynb 49KB
4.jpg 207KB
1.jpg 196KB
3.jpg 196KB
11.jpg 195KB
2.jpg 173KB
contract.jpg 118KB
57aa86a0000145c512000460_20161210234050_865.jpg 93KB
57aa86a0000145c512000460_nMwvoQD.jpg 93KB
57aa86a0000145c512000460_GXIBATC.jpg 93KB
57aa86a0000145c512000460.jpg 93KB
57aa86a0000145c512000460.jpg 93KB
companydes.jpg 74KB
banner.jpg 74KB
01.jpg 65KB
02.jpg 62KB
57a801860001c34b12000460_z4Vb8zl_20161210233313_629.jpg 56KB
57a801860001c34b12000460.jpg 56KB
57a801860001c34b12000460_z4Vb8zl.jpg 56KB
57a801860001c34b12000460.jpg 56KB
66.jpg 49KB
77.jpg 42KB
python-zhengze.jpg 42KB
55.jpg 41KB
44.jpg 39KB
course.jpg 36KB
module1_2.jpg 34KB
c6.jpg 33KB
hr3.jpg 32KB
module5_2.jpg 32KB
m13.jpg 32KB
m16.jpg 31KB
t8.jpg 31KB
t7.jpg 30KB
t4.jpg 30KB
m11.jpg 30KB
22.jpg 29KB
h7.jpg 29KB
m15.jpg 28KB
02_mid.jpg 28KB
m4.jpg 27KB
m14.jpg 27KB
m10.jpg 27KB
01_mid(1).jpg 26KB
g7.jpg 26KB
共 579 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
c++服务器开发
- 粉丝: 3042
- 资源: 4463
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功