在我们的日常生活中,经常会在各种社交软件上,收到好友推荐的信息,显示出与好友之间的共同好友的数量,然后我们就会考虑要不要去添加和认识。接下来我们利用idea软件进行MapReduce课程设计,简易版设计好友推荐功能。
目录
一、算法说明
由图所示,我们先简单假设一个朋友圈,下面是好友之间的关系。
判断某两个人是否认识,并推荐为好友,并且某两个非好友的用户,他们的共同好友越多,那么他们越可能认识。
1、直接相连的表示两个人是好友关系。
2、两个人有相同的好友表示两个人是间接好友。
3、好友推荐列表就是按照两个用户的共同好友数量排名。
二、思路分析
1、推荐者与被推荐者一定有一个或多个相同的好友
2、全局去寻找好友列表中两两关系
3、去除直接好友
4、统计两两关系出现次数
三、详细步骤
3、1 数据准备:
每行首位为用户本人,后面的为其对应好友
注:每个名字之间有且只有一个空格分割
3、2 编码操作:
3、2、1 创建项目
3、2、2 代码编写
- FriendsRecommend.java
package org.hadoop.friend;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.