scala – 如何在graphx中构建图形
发布时间:2020-12-16 09:08:11 所属栏目:安全 来源:网络整理
导读:我是 scala和graphx的新手,在将tsv文件转换为图形时遇到问题. 我有一个平面标签分隔文件,如下所示: n1 P1 n2 n3 P1 n4 n2 P2 n3 n3 P2 n1 n1 P3 n4 n3 P3 n2 其中n1,n2,n3,n4是图的节点,R1,P2,P3是应该在节点之间形成边的属性. 如何在SPARK GraphX中根据上
我是
scala和graphx的新手,在将tsv文件转换为图形时遇到问题.
我有一个平面标签分隔文件,如下所示: n1 P1 n2 其中n1,n2,n3,n4是图的节点,R1,P2,P3是应该在节点之间形成边的属性. 如何在SPARK GraphX中根据上述文件构建图形? 解决方法
有一些代码(当然你应该使用sbt在jar文件中构建它):
package vinnie.pooh import org.apache.spark.SparkContext._ import org.apache.spark._ import org.apache.spark.graphx._ import org.apache.spark.rdd.RDD object Main { def main(args: Array[String]) { if (args.length != 1) { System.err.println( "Should be one parameter: <path/to/edges>") System.exit(1) } val conf = new SparkConf() .setAppName("Load graph") .setSparkHome(System.getenv("SPARK_HOME")) .setJars(SparkContext.jarOfClass(this.getClass).toList) val sc = new SparkContext(conf) val edges: RDD[Edge[String]] = sc.textFile(args(0)).map { line => val fields = line.split(" ") Edge(fields(0).toLong,fields(2).toLong,fields(1)) } val graph : Graph[Any,String] = Graph.fromEdges(edges,"defaultProperty") println("num edges = " + graph.numEdges); println("num vertices = " + graph.numVertices); } } 我有edge.txt: 1 Prop12 2 2 Prop24 4 4 Prop45 5 5 Prop52 2 6 Prop65 7 然后,例如,您可以在本地启动它: $SPARK_HOME> ./ bin / spark-submit –class vinnie.pooh.Main –master local [2]?/ justBuiltJar.jar~ / edge.txt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |