并行 SimRank 算法
使用 Delta-Simrank 算法 ( )。
通过将每个 SimRank 迭代作为 Map 和两个 Reduce 任务的三元组执行,利用 Spark 的 GraphX 框架和内存中/迭代计算优势,而不是 YARN 等其他 MapReduce 框架。
Map1 : 发出键值对,其中每个键是与之前迭代中更新分数的顶点相邻的一对顶点id,该值是SimRank的边际增加(deltas的精确计算方法参考delta-simrank算法)。
Reduce1 :按键聚合增量值。
Reduce2 :将 delta 与上一次迭代 SimRank 分数相加,以获得当前迭代的 SimRank 分数。
先决条件:GraphX 包。
参数说明
数据源 - graphEdgelistPath :传递给 GraphX 图形加载器的边列表。 为了有效地存储中间 SimRank 分
2022-02-27 09:55:33
122KB
Scala
1