<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                Graph有一個隱式的函數來調用GraphOps類,圖的屬性不是在Graph,而是在GraphOps類中,如下 ```scala object Graph extends scala.AnyRef with scala.Serializable { implicit def graphToGraphOps[VD, ED] class GraphOps[VD, ED]{ lazy val numEdges : scala.Long = { // 邊的數量 lazy val numVertices : scala.Long = { // 頂點數量 lazy val inDegrees : org.apache.spark.graphx.VertexRDD // 入度 lazy val outDegrees : org.apache.spark.graphx.VertexRDD // 出度 lazy val degrees : org.apache.spark.graphx.VertexRDD // 度 ``` ![](https://img.kancloud.cn/fc/92/fc92b71f52c778519fbd1cbb3b2b0fbc_1009x396.png) 獲取上面這個圖的屬性。 ```scala import org.apache.spark.SparkContext import org.apache.spark.graphx.{Edge, Graph, VertexId} import org.apache.spark.rdd.RDD import org.apache.spark.sql.SparkSession object GraphxAttr { def main(args: Array[String]): Unit = { val spark:SparkSession = SparkSession.builder() .master("local[4]") .appName(this.getClass.getName) .getOrCreate() val sc:SparkContext = spark.sparkContext import spark.implicits._ // 1. 構建點集合 val users:RDD[(Long, (String, Int))] = sc.parallelize(Array( (1L, ("Alice", 28)), (2L, ("Bob", 27)), (3L, ("Charlie", 65)), (4L, ("David", 42)), (5L, ("Ed", 55)), (6L, ("Fran", 50)) )) // 2. 構建邊集合 val cntCall:RDD[Edge[Int]] = sc.parallelize(Array( Edge(2L, 1L, 7), Edge(2L, 4L, 2), Edge(3L, 2L, 4), Edge(3L, 6L, 3), Edge(4L, 1L, 1), Edge(5L, 2L, 2), Edge(5L, 3L, 8), Edge(5L, 6L, 3) )) // 3. 構圖 val graph:Graph[(String, Int), Int] = Graph(users, cntCall) /*****************圖的屬性**********************/ // 邊數量 println(s"edgesNum: ${graph.numEdges}") // edgesNum: 8 // 頂點數量 println(s"vertexNum: ${graph.numVertices}") // vertexNum: 6 // 圖的入度 graph.inDegrees.foreach(x => println(s"(vertexId, inDegreesNum)=${x.toString()}")) // (vertexId, inDegreesNum)=(1,2) // (vertexId, inDegreesNum)=(4,1) // (vertexId, inDegreesNum)=(3,1) // (vertexId, inDegreesNum)=(6,2) // (vertexId, inDegreesNum)=(2,2) // 圖的出度 graph.outDegrees.foreach(x => println(s"(vertexId, outDegreesNum)=${x.toString()}")) // (vertexId, outDegreesNum)=(2,2) // (vertexId, outDegreesNum)=(4,1) // (vertexId, outDegreesNum)=(5,3) // (vertexId, outDegreesNum)=(3,2) // 圖的度 graph.degrees.foreach(x => println(s"(vertexId, degreesNum)=${x.toString()}")) // (vertexId, degreesNum)=(4,2) // (vertexId, degreesNum)=(3,3) // (vertexId, degreesNum)=(6,2) // (vertexId, degreesNum)=(2,4) // (vertexId, degreesNum)=(1,2) // (vertexId, degreesNum)=(5,3) } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看