新闻推荐系统-项目介绍(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.

  • 15
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值