MapReduce案例-好友推荐】的更多相关文章

用过各种社交平台(如QQ.微博.朋友网等等)的小伙伴应该都知道有一个叫 "可能认识" 或者 "好友推荐" 的功能(如下图).它的算法主要是根据你们之间的共同好友数进行推荐,当然也有其他如爱好.特长等等.共同好友的数量越多,表明你们可能认识,系统便会自动推荐.今天我将向大家介绍如何使用MapReduce计算共同好友 算法 假设有以下好友列表,A的好友有B,C,D,F,E,O; B的好友有A,C,E,K 以此类推 那我们要如何算出A-O用户每个用户之间的共同好友呢? A…
package org.slp; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper; import java.io.IOException; import java.util.StringTokenizer; /** * Created by sanglp on 2017/7/17. */ public clas…
MapReduce实现好友推荐: 张三的好友有王五.小红.赵六; 同样王五.小红.赵六的共同好友是张三; 在王五和小红不认识的前提下,可以通过张三互相认识,给王五推荐的好友为小红, 给小红推荐的好友是王五,就是王五.小红.赵六互为推荐关系. 根据分析就是有相同好友的人物之间为推荐关系,但要排除本来两人就是好友的情况. 计算一个人的好友推荐关系,推荐关系值为1,然后计算所有人的好友推荐关系,最终将推荐关系值相加,计算出最值得推荐的几个好友. 简单的说就是两个非好友的人,存在共同好友的人数越多,说明…
好友推荐的案例, 需要两个job, 第一个进行好友关系度计算, 第二个job将计算的关系进行推荐 1, fof关系类 package com.wenbronk.friend; import org.apache.hadoop.io.Text; /** * 定义fof关系 * @author root * */ public class Fof extends Text{ public Fof() { super(); } /**' * 不论谁在前,返回一致的顺序 * @param a * @pa…
实验目的 初步认识图计算的知识点 复习mapreduce的知识点,复习自定义排序分组的方法 学会设计mapreduce程序解决实际问题 实验原理 QQ好友推荐算法是所有推荐算法中思路最简单的,我们利用的思想就是好友的好友很有可能是自己的好友,而共同好友越多,说明两个人认识的可能性越大.其实这个想法属于图计算的内容,人际关系社交网络是很典型的图计算的内容,大家可以参考相关资料.我们今天就基于共同好友的想法实现. 1.实现思路 我们已有的数据是每个人以及他的好友,我们无法直接从这个数据得到他的好友的…
mapreduce案例:获取PI的值 * content:核心思想是向以(0,0),(0,1),(1,0),(1,1)为顶点的正方形中投掷随机点. * 统计(0.5,0.5)为圆心的单位圆中落点占总落点数的百分比,即可算出单位圆的面积Pi/4, * 然后乘以4即得到Pi的近似值.从输入文件中读入一行内容.每一行都是一个数字, * 代表随机投掷那么多点来估算Pi的值.在Mapper中则随机生成指定数量的随机点(x,y). * x和y的范围在0-1之间.然后求出(x,y)与(0.5,0.5)的距离.…
MapReduce案例之自定义groupingComparator 求取Top 1的数据 需求 求出每一个订单中成交金额最大的一笔交易 订单id 商品id 成交金额 Order_0000005 Pdt_01 222.8 Order_0000005 Pdt_05 25.8 Order_0000002 Pdt_03 322.8 Order_0000002 Pdt_04 522.4 Order_0000002 Pdt_05 822.4 Order_0000003 Pdt_01 222.8 代码实现 自…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 最应该推荐的好友TopN,如何排名? tom hello hadoop cat world hadoop hello hive cat tom hive mr hive hello hive cat hadoop world hello mr hadoop tom hive world hello tom world hive mr…
1.需求 推荐好友的好友 图1: 2.解决思路 3.代码 3.1MyFoF类代码 说明: 该类定义了所加载的配置,以及执行的map,reduce程序所需要加载运行的类 package com.hadoop.mr.fof; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntW…
案例描述 根据好友列表,推荐好友的好友 数据集 tom hello hadoop cat world hadoop hello hive cat tom hive mr hive hello hive cat hadoop world hello mr hadoop tom hive world hello tom world hive mr 代码 MyFOF.class package com.hadoop.mr.fof; import java.io.IOException; import…