ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spark GraphX 应用示例

2021-12-16 20:01:24  阅读:147  来源: 互联网

标签:String val 示例 Graph Edge graph spark Spark GraphX


构建用户合作关系属性图

        顶点属性

                用户名

                职业

        边属性

                合作关系

 

import org.apache.spark.graphx.{Edge, Graph}
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession

object GraphDemo2 {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession.builder().appName("sparkGraph")
      .master("local[*]").getOrCreate()
    val sc = spark.sparkContext
    //没注释的是通过内存创建rdd
//还有一种是读取本地文件
//val graph2: Graph[Int, Int] = GraphLoader.edgeListFile(sc,"in/graph.txt")
    val users: RDD[(Long, (String, String))] = sc.makeRDD(
      Array(
        (3L, ("rxin", "student")),
        (7L, ("jgonzal", "postdoc")),
        (5L, ("franklin", "professor")),
        (2L, ("istocia", "professor"))
      )
    )
//创建边集合
    val relations: RDD[Edge[String]] = sc.makeRDD(
      Array(
      Edge(3L, 7L, "Collaborator"),
      Edge(5L, 3L, "Advisor"),
      Edge(2L, 5L, "Colleague"),
      Edge(5L, 7L, "PI")
    ))
//将得到的顶点rdd和边rdd放入到Graph中
    val graph: Graph[(String, String), String] = Graph(users,relations)
   // graph.triplets.foreach(println)//打印最完整的关系
   // graph.vertices.foreach(println)//打印顶点集合
    graph.edges.foreach(println)//打印边集合
  }
}

标签:String,val,示例,Graph,Edge,graph,spark,Spark,GraphX
来源: https://blog.csdn.net/m0_46620354/article/details/121982392

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有