spark graphx是一款优秀的图计算框架,对于批量计算图计算借助于spark的计算引擎,实现数据的快速聚合。

对于最基本的 共同好友推荐可以很方便的实现,一下为实现代码:

数据源的数据格式:

1 2

2 4

。。。

package mobimport org.apache.spark.graphx.{GraphLoader, VertexRDD}
import org.apache.spark.{SparkConf, SparkContext}object GraphRale {/**
    * 数据列表的笛卡尔乘积:{1,2,3,4}=>{(1,2),(1,3),(1,4),(2,3),(2,4),(3,4}
    * @param input
    * @return
    */
  def ciculate(input:List[Long]):Set[String]={var result = Set[String]()input.foreach(x=>{input.foreach(y=>{if(x<y){result += s"${x}|${y}"
        }else if(x>y){result += s"${y}|${x}"
        }})})return result;
  }def twoDegree()={val conf = new SparkConf().setMaster("local").setAppName("graph")val sc = new SparkContext(conf)val graph = GraphLoader.edgeListFile(sc,"D:\\grap.txt")val relate: VertexRDD[List[Long]] = graph.aggregateMessages[List[Long]](triplet=>{triplet.sendToDst(List(triplet.srcId))},
      (a,b)=>(a++b)).filter(x=>x._2.length>1)val re = relate.flatMap(x=>{for{temp <- ciculate(x._2)}yield (temp,1)}).reduceByKey(_+_)re.foreach(println(_))}def main(args: Array[String]): Unit = {twoDegree()}
}

spark graphx实现共同好友的聚合相关推荐

  1. Spark GraphX 聚合操作

    package Spark_GraphXimport org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.graphx ...

  2. 快刀初试:Spark GraphX在淘宝的实践

    (本文由团队中梧苇和我一起撰写,并由团队中的林岳,岩岫,世仪等多人Review,发表于程序员的8月刊,由于篇幅原因,略作删减,本文为完整版) 对于网络科学而言,世间万物都可以抽象成点,而事物之间的关系 ...

  3. 明风:分布式图计算的平台Spark GraphX 在淘宝的实践

    快刀初试:Spark GraphX在淘宝的实践 作者:明风 (本文由团队中梧苇和我一起撰写,并由团队中的林岳,岩岫,世仪等多人Review,发表于程序员的8月刊,由于篇幅原因,略作删减,本文为完整版) ...

  4. Spark GraphX图计算入门

    一.什么是图计算 图计算,可以简单理解为以图这种数据结构为基础,整合相关算法来实现对应应用的计算模型.社交网络中人与人之间的关系,如果用计算机数据结构表示,最合适的就是图了.其中图的顶点表示社交中的人 ...

  5. Spark GraphX在淘宝的实践

    原文链接:http://rec-sys.net/forum.php?mod=viewthread&tid=398 由于Spark GraphX性能良好,又有丰富的功能和运算符,能在海量数据上自 ...

  6. Spark GraphX学习笔记

    概述 GraphX是 Spark中用于图(如Web-Graphs and Social Networks)和图并行计算(如 PageRank and Collaborative Filtering)的 ...

  7. Spark GraphX 图算法的理解

    Spark GraphX是一个分布式图处理框架,基于 Pregel 接口实现了常用的图算法.包括 PageRank.SVDPlusPlus.TriangleCount. ConnectedCompon ...

  8. Spark—GraphX编程指南

    GraphX编程指南 GraphX 是新的图形和图像并行计算的Spark API.从整理上看,GraphX 通过引入 弹性分布式属性图(Resilient Distributed Property G ...

  9. 用Spark GraphX进行图计算(详细步骤)

    SimpleGraphX 1.1 创建文件夹(10.103.105.63) spark-3.1.1-bin-hadoop2.7/Test/ mkdir graphx cd graphx mkdir s ...

最新文章

  1. 三十六亿的《哪吒》历时五年,如何用AI解决动画创作难题?
  2. vs2010文件加载使用简体中文(GB2312)问题解决方案
  3. 【转】iphone - ios app maximum memory budget
  4. 2021-11-14Iterator迭代器
  5. Nginx 配置从零开始
  6. Android使用腾讯浏览服务X5内核
  7. 一个单片机的小问题。
  8. [tensorflow] - csv文件读取
  9. 休眠后gpio状态_浅谈Digi XBee模块的休眠模式
  10. Firefox搜索框:自动出现添加搜索的提示
  11. LeetCode(1051)——高度检查器(JavaScript)
  12. 2012春季ACM内部测试赛3
  13. Maven常见异常及解决方法---测试代码编译错误
  14. 由古书看,古人应该知道地球是圆的
  15. 10个linux awk文本处理经典案例,Linux awk命令常用案例
  16. Jmeter之BeanShell详解
  17. Proteus十字路口交通灯
  18. 从零开始开发Python程序(五)—— 把文字排版成一张图片
  19. 电信专家王煜全:手机监管面临三大困境
  20. xmpp学习使用简单介绍(二)

热门文章

  1. SIM7600模块固件升级(模块自身升级)
  2. 文化 宝藏 文物 古文
  3. 自媒体人不做广告怎么吃饭
  4. 计算机详细配置快捷键,电脑输入法怎么设置快捷键
  5. C++小数该用什么数据类型
  6. 安卓视频播放器(TV)
  7. 菜鸟云打印接入Demo
  8. 可调背光板(二)__DW01FA锂电池保护IC电路
  9. 小米真无线降噪耳机3和小米真无线降噪耳机3 Pro的区别
  10. php公众号获取code,微信公众号获取code