大家都知道qq用户量上亿,每个用户又有很多的好友,因此,数据量十分的庞大,如何才能实现QQ的好友推荐呢?
下面举一个例子:
A有QQ好友B
B有QQ好友C
则A,C有可能是好友。
下面举一个例子:
A有QQ好友B
B有QQ好友C
则A,C有可能是好友。
当A登录的时候,则会向A推荐C,当C登录的时候,则会向C推荐A。
package com.FriendsRecommended.findFrends;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
/**
* @author Robin
* qq好友推荐
* Hadoop好友hello,hello好友是world...依次类推。
* 那么hadoop和world有共同的好友hello,所以hadoop和world可能具有好友关系,
* world就是hadoop的推荐好友,hadoop也是world的好友推荐。
* 计算出qq文件内符合上述条件的推荐好友
*
* 好友文件 :friends.txt
* hadoop hello
* hdfs world
* tom ca