顶点属性
职业
边属性
合作关系
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)//打印边集合
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。