MapReduce课程设计 好友推荐功能

该博客介绍了如何使用MapReduce解决好友推荐问题。通过分析数据,找出非好友但有共同好友的用户,并根据共同好友数量计算推荐值。程序用Java实现,包括FriendsRecommend、FriendsRecommendMapper和FriendsRecommendReduce三个主要类,涉及Hadoop MapReduce操作,如数据读写、Mapper和Reducer的定义。项目流程包括创建Java项目、配置环境、编写和打包代码,最后在Linux环境的Hadoop集群上运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 项目说明  

  • 互为推荐关系
  • 非好友的两个人之间存在相同好友则互为推荐关系
  • 朋友圈两个非好友的人,存在共同好友人数越多,越值得推荐
  • 存在一个共同好友,值为1;存在多个值累加

1.2 程序需求

1.2.1 需求

  • 程序要求,给每个人推荐可能认识的人
  • 互为推荐关系值越高,越值得推荐
  • 每个用户,推荐值越高的可能认识的人排在前面 

1.2.2 数据

  • 数据使用空格分割
  • 每行是一个用户以及其对应的好友
  • 每行的第一列名字是用户的名字,后面的是其对应的好友

        xiaoming laowang renhua linzhiling
        laowang xiaoming fengjie
        renhua xiaoming ligang fengjie
        linzhiling xiaoming ligang fengjie guomeimei
        ligang renhua fengjie linzhiling
        guomeimei fengjie linzhiling
        fengjie renhua laowang linzhiling guomeimei

2.项目步骤

2.1思路

分析:第一个为直接好友,也就是说,Tom 和hello 和hadoop 和cat是直接好友关系,而他们之间是 间接好友关系,但是间接好友 关系不一定就不是直接 好友关系,而我们要找的就是间接好友的关系,推荐者与被推荐者一定有一个或多个相同的好友,全局去寻找好友列表中两两关系,去除直接好友,统计两两关系出现次数

2.2步骤

  • 创建Friend
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值