0


新闻推荐系统-项目介绍(PRD)

新闻推荐系统

b站链接

制作不易,6月后开源全部代码以及数据,记得一键三联哦!

开源代码:
github代码库

mysql:

链接:https://pan.baidu.com/s/1jLzfYbpsfHEjS4S17IyQnQ

提取码:1234

环境介绍

语言环境:
1.java1.8
2.scala2.1.1

IDE:
eclipse2015(java)
myeclipse2017(scala)

依赖环境:
maven3.6.3
sbt1.2.1

技术栈:
Java 1.8
springboot(web服务)
webmagic(爬虫)
seleinum(爬虫)
mysql(8.0)
linux shell(算法部署环境)
scala 2.1.1(使用jvm1.8)
spark2.0(计算框架)
spark mlib(机器学习库)
maven(java依赖管理)
sbt(scala依赖管理)
redis(消息队列)
jedis(redis-java api)
bt(宝塔-服务器管理面板)
jsch(linux shell -java api)
javax.mail(spring-email邮件管理)
在这里插入图片描述
架构草图

项目简介

项目意图为构建完整的新闻推荐系统 其中分为多个模块
推荐模块
一.冷启动模块
1.热度推荐
2.标签-自定义推荐
3.实时推荐
二.协同过滤模块
ALS隐语义模型-最小交叉二乘法 推荐模块
用户模块
一.用户模块
1.用户登录
2.用户注册
3.忘记密码
整个系统是帮学生写的毕设,但是尽量真实的实现现实中的业务场景.例如:新闻app中用户注册后自定义标签,和实时推荐新闻等功能.
同时又因为系统环境的限制,没有集群,只有一个性能有限的伪分布式服务器,带hdfs都费劲,不可能实现更多的实时功能.所以kafka(卡夫卡),spark-streaming,hbase这几个常用的高性能实时服务组件并没有用上(sparkstreaming虽然不是真正意义上的实时处理,但是微批次处理也够用了吧,不用fink那么高傲)

项目开发流程

一.算法部分
在这里插入图片描述

根据上面的逻辑开发每部分需要的算法,并记录rmse后开始下一步在这里插入图片描述

二.算法部署部分
1.sbt打包assembly
2.linux 部署
3.linux测试
三.web服务开发
1.确定需求
2.创建实体类
3.创建数据库表
4.管理映射(mvc) mapper,service,contollor等
5.前后端交互
四.全流程搭建链接测试
1.web部署
2.linux算法服务部署
3.redis部署
五.总结

注意事项

相似度笛卡尔积只有8000,电影id大于1万的时候无法推荐
mysql只能存储关系型数据,非关系型数据要用mongodb,这里太麻烦了,用mysql字符串拼接代替

报错(gc尚未解决)

6w行x50元素矩阵笛卡尔积相似度计算,一算算一天然后报错.emm
Using Spark’s default log4j profile: org/apache/spark/log4j-defaults.properties
矩阵计算完成导入数据
Exception in thread “main” org.apache.spark.SparkException: Job aborted due to stage failure: Task 2 in stage 9.0 failed 1 times, most recent failure: Lost task 2.0 in stage 9.0 (TID 74, localhost, executor driver): java.sql.SQLNonTransientConnectionException: Communications link failure during rollback(). Transaction resolution unknown.

标签:

本文转载自: https://blog.csdn.net/weixin_49139876/article/details/116724661
版权归原作者 帅气多汁你天哥 所有, 如有侵权,请联系我们删除。

“新闻推荐系统-项目介绍(PRD)”的评论:

还没有评论