一直负责公司的大数据平台技术建设,也一直在使用并研究spark,讲spark架构和原理的文章非常多,但是真正对graphx,mllib,sql,r等API实现源码介绍的文章非常少,也刚好最近有些时间,就把自己使用和学习的一些心得写出来,希望会有些帮助。
首先就是图计算框架GraphX,在淘宝中有比较多的应用。图计算顾名思义,就是对图结构进行分析计算,现实中社交网站,电网,互联网,物联网等等无一不是一种图结构,图的结构在现实生活中无处不在。
GraphX基于Spark的RDD计算框架来实现,基于spark的RDD实现了分布式的图数据结构,这个图结构是一个有向多重图的结构,包含了:边RDD,节点RDD,节点和边构成的三元组RDD,其中每个节点都有一个节点id和节点属性,每个边也有自己的属性,此外这些rdd除了core里面提供的基本操作,它还提供了针对图的一些特定操作,比如:取子图,节点连接操作,消息汇聚操作,优化版的pregel API,此外它还实现了一些常见的图算法,比如PageRank,强连通子图,连通子图,最短路径等,后面我将会对这些内容一一做一个详细的介绍。大家会看到有了spark的rdd作为基础计算框架实现海量的分布式图计算时多么的简单。在具体介绍之前有必要先看看spark怎么表示一幅分布式图结构的,分布式图表示方法有两种,一种是做边的切割,然后每个分区存放一些节点信息,然后每个分区都需要一个结构来维护边的信息,这种方式的会带来很大的通信开销和存储开销,因为现实中边数目一般会比节点数目多很多,还有一种方式就是坐点的复制切割,这种方式分区和分区之间并不会产生边的交叉,只是每个节点可能会分布在多个分区中,当节点属性值改变的时候,需要把这个改变分发到多个分区中去,因此还需要维护一份数据结构,保存了节点和分区的对应关系,当作join操作的时候可以这种对应关系来传播节点属性值。后面我将分成一下几个大块来介绍graphx的实现。
分别是:
1.图的表示。
2.图的基本操作实现。
3.图的算法实现。
4.图的一些工具类实现和使用。
相关推荐
Spark GraphX源码分析 Spark 大数据框架的 GraphX 子框架 大数据、图计算,源码分析书
spark graphX实战 中英文两版 spark graphX实战 中英文两版
A lot of companies, including the ones we work for and have worked for in the past, have put Spark—though not necessarily GraphX—into production. This makes it more than just a little convenient ...
spark graphx基础操作文档。。。。。。。。。。。。
Spark GraphX In Action.pdf 高清 带索引目录数据,图形计算
Spark GraphX in Action 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末...基于Spark GraphX+PageRank算法的仿微博用户好友的分布式推荐系统源码+项目说明.zip
本书详细介绍如何利用Spark Graph组件进行图计算,并依托项目背景,对Spark图计算进行深入研究,适合Spark爱好者进行阅读
关于spark graphx的介绍,上课用讲义,英文版本,通过讲义,可以了解spark graphx
基于Spark-Graphx的大规模用户图计算和应用 完整高清 基于Spark-Graphx的大规模用户图计算和应用 完整高清
spark-graphx实现中文及英文pdf版本电子书。详细地讲解了GraphX的方方面面,并且还介绍了scala和spark的各个知识点,从spark基础知识、scala基础知识、图基础知识开始讲解,是一本很好的GraphX入门书籍
spark graphx google用于网页排名计算的拓扑图状关系数据结构
Spark_GraphX大规模图计算和图挖掘
spark-graphx_2.11-2.4.0-cdh6.1.1.jar
Spark-内核源码解析.docx
Spark.GraphX.in.Action.2016.6.pdf
介绍Spark GraphX 的书籍不多,这是一本专门详细讲解GraphX 的书籍
spark-graphx_2.11-2.1.3-SNAPSHOT.jar
Spark GraphX源码分析 Spark GraphX是一个新的Spark API ,它用于图和分布式图( graph-parallel )的计算GraphX综合了Pregel和GraphLab具有的优点,即接口相对简单,又保证性能,可以应对点分割的本专题会详细介绍...
Spark GraphX in Action starts out with an overview of Apache Spark and the GraphX graph processing API. This example-based tutorial then teaches you how to configure GraphX and how to use it ...