Spark组件之GraphX学习6--随机图生成和出度入度等信息显示
来源:互联网 发布:租房还是买房划算知乎 编辑:程序博客网 时间:2024/05/16 04:56
更多代码请见:https://github.com/xubo245/SparkLearning
1解释
简单不详述
2.代码:
/** * @author xubo * ref http://spark.apache.org/docs/1.5.2/graphx-programming-guide.html * time 20160503 */package org.apache.spark.graphx.learningimport org.apache.spark.SparkConfimport org.apache.spark.SparkContextimport org.apache.spark.graphx.Graphimport org.apache.spark.graphx.VertexRDDimport org.apache.spark.graphx.util.GraphGeneratorsobject GraphGeneratorsAndIndegreeOutdegree { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("GraphOperatorsStructuralMask").setMaster("local[4]") // Assume the SparkContext has already been constructed val sc = new SparkContext(conf) // Import random graph generation library // Create a graph with "age" as the vertex property. Here we use a random graph for simplicity. val graph: Graph[Double, Int] = GraphGenerators.logNormalGraph(sc, numVertices = 5).mapVertices((id, _) => id.toDouble) // Compute the number of older followers and their total age println("Graph:"); println("sc.defaultParallelism:" + sc.defaultParallelism); println("vertices:"); graph.vertices.collect.foreach(println(_)) println("edges:"); graph.edges.collect.foreach(println(_)) println("count:" + graph.edges.count); println("\ninDegrees"); graph.inDegrees.foreach(println) println("\noutDegrees"); graph.outDegrees.foreach(println) println("\nreverse"); println("\nreverse vertices"); graph.reverse.vertices.collect.foreach(println) println("\nreverse edges"); graph.reverse.edges.collect.foreach(println) println("\nreverse inDegrees"); graph.reverse.inDegrees.foreach(println) println("\nreverse inDegrees"); graph.reverse.outDegrees.foreach(println) }}
reverse主要是将边的方向反向
3.结果:
Graph:sc.defaultParallelism:4vertices:(4,4.0)(0,0.0)(1,1.0)(2,2.0)(3,3.0)edges:Edge(0,0,1)Edge(0,2,1)Edge(0,2,1)Edge(0,3,1)Edge(1,3,1)Edge(1,4,1)Edge(1,4,1)Edge(1,4,1)Edge(2,0,1)Edge(2,3,1)Edge(2,3,1)Edge(2,4,1)Edge(3,1,1)Edge(3,3,1)Edge(4,0,1)Edge(4,1,1)Edge(4,2,1)Edge(4,4,1)count:18inDegrees(3,5)(1,2)(4,5)(0,3)(2,3)outDegrees(2,4)(3,2)(1,4)(4,4)(0,4)reversereverse vertices(4,4.0)(0,0.0)(1,1.0)(2,2.0)(3,3.0)reverse edgesEdge(0,0,1)Edge(2,0,1)Edge(2,0,1)Edge(3,0,1)Edge(3,1,1)Edge(4,1,1)Edge(4,1,1)Edge(4,1,1)Edge(0,2,1)Edge(3,2,1)Edge(3,2,1)Edge(4,2,1)Edge(0,4,1)Edge(1,3,1)Edge(1,4,1)Edge(2,4,1)Edge(3,3,1)Edge(4,4,1)reverse inDegrees(4,4)(0,4)(2,4)(1,4)(3,2)reverse inDegrees(2,3)(1,2)(3,5)(4,5)(0,3)
参考
【1】 http://spark.apache.org/docs/1.5.2/graphx-programming-guide.html
【2】https://github.com/xubo245/SparkLearning
0 0
- Spark组件之GraphX学习6--随机图生成和出度入度等信息显示
- Spark组件之GraphX学习8--随机图生成和TopK最大入度
- Spark组件之GraphX学习5--随机图生成和消息发送aggregateMessages以及mapreduce操作(含源码分析)
- Spark组件之GraphX学习7--随机图生成和reduce最大或最小出度/入度/度
- Spark组件之GraphX学习14--TriangleCount实例和分析
- spark组件之graphx图并行计算
- Spark组件之GraphX学习10--PageRank学习和使用(From examples)
- Spark组件之GraphX学习20--待学习部分
- Spark组件之GraphX学习1--入门实例Property Graph
- Spark组件之GraphX学习2--triplets实践
- Spark组件之GraphX学习3--Structural Operators:subgraph
- Spark组件之GraphX学习4--Structural Operators:mask
- Spark组件之GraphX学习8--邻居集合
- Spark组件之GraphX学习11--PageRank例子(PageRankAboutBerkeleyWiki)
- Spark组件之GraphX学习13--ConnectedComponents操作
- Spark组件之GraphX学习16--最短路径ShortestPaths
- Spark组件之GraphX学习12--GraphX常见操作汇总SimpleGraphX
- Spark组件之GraphX学习9--使用pregel函数求单源最短路径
- 自定义ViewPager指示器
- Google机器学习教程心得(三) 好的feature
- Unix网络编程之常见的数据结构
- Mac Octave 作图报错
- 在eclipse操作hbase时,遇到的问题
- Spark组件之GraphX学习6--随机图生成和出度入度等信息显示
- 研究MapReduce源码之实现自定义LineRecordReader完成多行读取文件内容
- Learning Spark (Python版) 学习笔记(二)----键值对、数据读取与保存、共享特性
- 顺时针打印矩形列表
- 【黑马Android】(08)activity生命周期/横竖屏切换的生命周期/任务栈的概念/广播接收者ip拨号器/进程的优先级&为什么使用服务
- Android开发中定时器的3种方法
- hdu 1238 字符串处理 Substrings
- JavaScript instanceof 运算符深入剖析
- Java核心技术(三) —— 对象与类(3)