Spark复习九:Spark GraphX 入门以及Spark图聚合操作相关案例

本文介绍了图的基本概念及其在数据建模中的应用,重点讲解了Spark GraphX作为Spark图形计算组件的特点,包括属性图的概念和实例。通过具体的执行过程、triplet视图的解析以及图的属性、结构和关联操作,展示了如何使用Spark GraphX进行图数据处理。
摘要由CSDN通过智能技术生成

1.1 图的基本概念:

定义:图是由顶点集合(vertex)及顶点间的关系集合(边edge)组成的一种数据结构

作用:图可以对事物以及事物之间的关系建模,图可以用来表示自然发生的连接数据,如:社交网络、互联网web页面

常用应用:在地图应用中找到最短路径,基于与他人的相似度图,推荐产品。

1.2 Spark GraphX :

GraphX是Spark中用于图形和图形并行计算的新组件。

GraphX通过引入属性图:顶点和边均有属性的有向多重图,来扩充Spark的RDD

1.3 属性图:

           属性图是GraphX的核心抽象模型,是一个有向多重图,带有每一个顶点(vertex)和边(edge)的用户自定义对象。由于相同顶点之间存在多种关系,属性图支持平行边,这简化了属性图的建模场景。

1.4属性图实例:

1.5Spark GraphX执行过程:

1.6第一个SparkGraphX案例:

(1)通过上面的项点数据和边数据创建图对象
(2)找出图中年龄大于 30 的顶点
(3)找出图中属性大于 5 的边
(4)找出图中最大的出度、入度、度数

package sparkGraphX
import org.apache.spark.graphx.{Edge, Graph, VertexId}
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object sparkGrapaX {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("SimpleGraphX").setMaster("local")
    val sc = new SparkContext(conf)
    sc.setLogLevel("WARN")

    //设置users顶点
    val vertexArray : RDD[(VertexId, (String, Int))] =
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值