Graphx二度关系】的更多相关文章

关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友.好友的关注.好友的好友四种类型. 如果要为全站亿级用户根据二度关系和四种桥梁类型推荐桥梁权重最高 TopN 个用户,大致估算了下总关系量在千亿级别,按照原有的 Mapreduce 模式计算整个二度关系,需要以桥梁用户为 Key,把它的关注和粉丝两个亿级的表做 Join,如果活跃用户按照亿计,平均关…
1.一度人脉:双方直接是好友 2.二度人脉:双方有一个以上共同的好友,这时朋友网可以计算出你们有几个共同的好友并且呈现数字给你.你们的关系是: 你->朋友->陌生人 3.三度人脉:即你朋友的朋友的朋友就是这个陌生人.你们的关系是 你->朋友->朋友->陌生人 4.四度人脉:比三度增加一度,你们的关系是,你->朋友->朋友->朋友->陌生人 5.五度人脉:你->朋友->朋友->朋友->朋友->陌生人 ,像上面这张图片表示的就…
1.一度人脉:双方直接是好友 2.二度人脉:双方有一个以上共同的好友,这时朋友网可以计算出你们有几个共同的好友并且呈现数字给你.你们的关系是: 你->朋友->陌生人 3.三度人脉:即你朋友的朋友的朋友就是这个陌生人.你们的关系是 你->朋友->朋友->陌生人 4.四度人脉:比三度增加一度,你们的关系是,你->朋友->朋友->朋友->陌生人 5.五度人脉:你->朋友->朋友->朋友->朋友->陌生人 ,像上面这张图片表示的就…
最近做了一个项目,要求找出二度人脉的一些关系,就好似新浪微博的“你可能感兴趣的人” 中,间接关注推荐:简单描述:即你关注的人中有N个人同时都关注了 XXX . 在程序的实现上,其实我们要找的是:若 User1 follow了10个人 {User3,User4,User5,... ,User12}记为集合UF1,那么 UF1中的这些人,他们也有follow的集合,分别是记为: UF3(User3 follow的人),UF4,UF5,...,UF12:而在这些集合肯定会有交集,而由最多集合求交产生的…
1.一度人脉:双方直接是好友 2.二度人脉:双方有一个以上共同的好友,这时朋友网可以计算出你们有几个共同的好友并且呈现数字给你.你们的关系是: 你->朋友->陌生人 3.三度人脉:即你朋友的朋友的朋友就是这个陌生人.你们的关系是 你->朋友->朋友->陌生人 4.四度人脉:比三度增加一度,你们的关系是,你->朋友->朋友->朋友->陌生人 5.五度人脉:你->朋友->朋友->朋友->朋友->陌生人 ,像上面这张图片表示的就…
一.问题定义 我在网上找了些,关于二度人脉算法的实现,大部分无非是通过广度搜索算法来查找,犹豫深度已经明确了2以内:这个算法其实很简单,第一步找到你关注的人:第二步找到这些人关注的人,最后找出第二步结果中出现频率最高的一个或多个人(频率这块没完成),即完成. 但如果有千万级别的用户,那在运算时,就肯定会把这些用户的follow 关系放到内存中,计算的时候依次查找:先说明下我没有明确的诊断对比,这样做的效果一定没 基于hadoop实现的好:只是自己,想用hadoop实现下,最近也在学:若有不足的地…
背景 本文给出了一个简单的计算图中每一个点的N度关系点集合的算法,也就是N跳关系. 之前通过官方文档学习和理解了一下GraphX的计算接口. N度关系 目标: 在N轮里.找到某一个点的N度关系的点集合. 实现思路: 1. 准备好边数据集.即"1 3", "4, 1" 这种点关系. 使用GraphLoader 的接口load成Graph 2. 初始化每一个Vertice的属性为空Map 3. 使用aggregateMessages把VerticeID和totalRou…
直接上代码: package horizon.graphx.util import java.security.InvalidParameterException import horizon.graphx.util.CollectionUtil.CollectionHelper import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD import org.apache.spark.storage.StorageLevel…
一,背景介绍 在新浪微博.人人网等社交网站上,为了使用户在网络上认识更多的朋友,社交网站往往提供类似“你可能感兴趣的人”.“间接关注推荐”等好友推荐的功能,其中就包含了二度人脉算法. 二,算法实现 原始数据集测试: a b b c a c b d c e e c e f 数据集说明:为关注关系,即a关注b,b关注c和d,所以a的二度人脉应该是d和c,而c已经被a关注,所以应该舍去,自己不能二度人脉是自己,如c关注e,而e又关注c 代码实现,代码用了两个Job实现的 难点:两个job如何先后执行…
friend表结构 DROP TABLE IF EXISTS FRIEND; create table friend(     uid        bigint not null comment '用户标识',     friend_uid    bigint not null comment '申请加为好友的用户标识',     sys_create_date datetime not null comment '申请时间',     sys_last_update datetime not…