GraphX实现N度关系】的更多相关文章

关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友.好友的关注.好友的好友四种类型. 如果要为全站亿级用户根据二度关系和四种桥梁类型推荐桥梁权重最高 TopN 个用户,大致估算了下总关系量在千亿级别,按照原有的 Mapreduce 模式计算整个二度关系,需要以桥梁用户为 Key,把它的关注和粉丝两个亿级的表做 Join,如果活跃用户按照亿计,平均关…
背景 本文给出了一个简单的计算图中每一个点的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…
1.一度人脉:双方直接是好友 2.二度人脉:双方有一个以上共同的好友,这时朋友网可以计算出你们有几个共同的好友并且呈现数字给你.你们的关系是: 你->朋友->陌生人 3.三度人脉:即你朋友的朋友的朋友就是这个陌生人.你们的关系是 你->朋友->朋友->陌生人 4.四度人脉:比三度增加一度,你们的关系是,你->朋友->朋友->朋友->陌生人 5.五度人脉:你->朋友->朋友->朋友->朋友->陌生人 ,像上面这张图片表示的就…
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:而在这些集合肯定会有交集,而由最多集合求交产生的…
Pregel是个强大的基于图的迭代算法,也是Spark中的一个迭代应用aggregateMessage的典型案例,用它可以在图中方便的迭代计算,如最短路径.关键路径.n度关系等.然而对于之前对图计算接触不多的童鞋来说,这个api还算是一个比较重量组的接口,不太容易理解. Spark中的Pregel定义如下: def pregel[A: ClassTag]( initialMsg: A, maxIterations: Int = Int.MaxValue, activeDirection: Edg…
关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph Learning (PGL)) 欢迎fork本项目原始链接:关于图计算&图学习的基础知识概览:前置知识点学习(Paddle Graph L)https://aistudio.baidu.com/aistudio/projectdetail/4982973?contributionType=1 因为篇幅关系就只放了部分程序在第三章,如有需求可自行fork项目原始链接. 0.1图计算基本概念 首先看到百度百科定义: 图…
1. 数据库介绍 什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据.我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢.所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量.所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据.RDBMS即关系数据库管理系统(Relational Database…