目录
一、简介
好友推荐功能简单的说是这样一个需求,预测某两个人是否认识,并推荐为好友。
二、思路
某两个非好友的用户,他们的共同好友越多,那么他们越可能认识。
比如,原始数据如下
Tom Cat Hello Hadoop Spring
Cat Hello Spring
Hello Tom Netty Hadoop Cat
Hadoop Tom Hello Netty Spring
Spring Tom Cat Hadoop
Netty Hello Hadoop
每一行表示某个用户的好友列表,每一行的第一个名称为该用户的用户名,后面跟的用户名表示他的好友
那么我们需要得到如下的数据
Tom Netty 2
Cat Netty 1
Cat Hadoop 3
Hello Spring 3
Spring Netty 1
这里每一行的两个用户名即为预测的可能认识的两个用户,数字表示他们共有的好友数
map:
将每行的人名进行组合,最后输出key为人名组合,value为标志位。需要注意的是,人名需要按照一定顺序排序,防止同样的人名组合产生两个不同的key
标志位0,表示一定是直接好友,也就是用户本人和