EN
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

SCC

run API

  • API
    run[VD: ClassTag, ED: ClassTag](graph: Graph[VD, ED], numIter: Int)
  • 功能描述

    根据输入的有向图信息计算所有的强连通分量,接口与开源保持一致。

  • API描述
    1. 包名:package org.apache.spark.graphx.lib
    2. 类名:StronglyConnectedComponents
    3. 方法名:run
    4. 输入:
      1. graph: Graph[VD,ED]
      2. graph:图数据
      3. VD及ED分别为点和边的属性类型
    5. 参数详情:

      参数名称

      参数含义

      取值类型

      graph

      图数据

      Graph[VD,ED],VD及ED分别为点和边的属性类型。

      numIter

      算法迭代次数

      算法计算结果为精确解,可指定为任意整型值。

    6. 输出:Graph[VertexId,ED]--图的点的信息,每个点的属性是其强连通分量的id。
  • 使用样例

    StronglyConnectedComponents样例:

    val sparkConf = new SparkConf().setAppName("SCC ").setMaster(host)
    sc = new SparkContext(sparkConf)
    val input = sc.parallelize(Array(
    (1L,2L),(2L,3L),(3L,1L),
    (1L,7L),(4L,5L),(5L,6L),
    (6L,4L)))
    val graph = Graph.fromEdgeTuples(input, 0)
    val res = StronglyConnectedComponents.run(graph,-1).vertices
  • 样例结果:

    第一列为节点ID,第二列为该节点所在的强连通分量ID,两列以逗号分隔。

    1,1
    2,1
    3,1
    4,4
    5,4
    6,4
    7,7