def runLocalClusteringCoefficient[VD: ClassTag, ED: ClassTag](graph: Graph[VD, ED], isDirected: Boolean, isWeighted: Boolean): Graph[Double, ED]
参数名称 |
参数含义 |
取值类型 |
---|---|---|
graph |
有向图或无向图 |
Graph[VD, ED],VD表示节点属性,ED表示边属性 |
isDirected |
图类型,有向/无向图 |
true或false,boolean类型,true表示有向图 |
isWeighted |
输入图数据是否为有向图 |
为true,算法按有权图场景计算;为false,按无权图场景计算 |
val conf = new SparkConf().setAppName("clusteringcoefficient").setMaster(host) val sc = new SparkContext(conf) val input = sc.parallelize(Array((1L, 2L), (3L, 1L), (3L, 2L), (2L, 4L), (3L, 4L))) val graph = Graph.fromEdgeTuples(input, false).mapEdges(f => 1.0) val nodesInfo = ClusteringCoefficient.runLocalClusteringCoefficient(graph,false,false).vertices.sortByKey().collect().foreach(println)
第一列为节点ID,第二列为该节点对应聚集系数值。
1;2,3;0 2;4,5;1 3;6,7;1 4;;2 5;;2 6;;2 7;;2
def runAverageClusteringCoefficient[VD: ClassTag, ED: ClassTag](graph: Graph[VD, ED], isDirected: Boolean, isWeighted: Boolean): Double
参数名称 |
参数含义 |
取值类型 |
---|---|---|
graph |
有向图或无向图 |
Graph[VD, ED],VD表示节点属性,ED表示边属性 |
isDirected |
图类型,有向/无向图 |
true或false,boolean类型,true表示有向图 |
isWeighted |
输入图数据是否为有向图 |
为true,算法按有权图场景计算;为false,按无权图场景计算 |
val conf = new SparkConf().setAppName("clusteringcoefficient").setMaster(host) val sc = new SparkContext(conf) val input = sc.parallelize(Array((1L, 2L), (3L, 1L), (3L, 2L), (2L, 4L), (3L, 4L))) val graph = Graph.fromEdgeTuples(input, false) val nodesInfo = ClusteringCoefficient.runAverageClusteringCoefficient(graph,false,false)
该输出为所有节点聚集系数均值。
0.8333
def runGlobalClusteringCoefficient[VD: ClassTag, ED: ClassTag](graph: Graph[VD, ED]): Double
参数名称 |
参数含义 |
取值类型 |
---|---|---|
graph |
有向图或无向图 |
Graph[VD, ED],VD表示节点属性,ED表示边属性 |
val conf = new SparkConf().setAppName("clusteringcoefficient").setMaster(host) val sc = new SparkContext(conf) val input = sc.parallelize(Array((1L, 2L), (3L, 1L), (3L, 2L), (2L, 4L), (3L, 4L))) val graph = Graph.fromEdgeTuples(input, false) val nodesInfo = ClusteringCoefficient.runGlobalClusteringCoefficient(graph)
该输出为图数据全局聚集系数。
0.75