<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                * 用于評估網頁鏈接的質量和數量,以確定該網頁的重要性和權威性的相對分數,范圍為0到10。 * 從本質上講,PageRank是找出圖中頂點(網頁鏈接)的重要性。 * 簡單地說,PageRank就是用在網頁排名上,相對分數越大,排名越靠前。 * GraphX提供了PageRank API用于計算圖的PageRank。 ```scala // Graph有一個隱式函數implicit def graphToGraphOps[VD, ED]會自動關聯到GraphOps // 所以可以直接graph.pageRank方式調用 class GraphOps[VD, ED] { def pageRank(tol : scala.Double, // 收斂時允許的誤差,越小越精確, 迭代次數也越多 resetProb : scala.Double // 隨機重置概率 ) : Graph[scala.Double, scala.Double] = {} } ``` PageRank應用示例: ![](https://img.kancloud.cn/fc/92/fc92b71f52c778519fbd1cbb3b2b0fbc_1009x396.png) (1)找出用戶社交網絡中最重要的用戶 ```scala import org.apache.spark.SparkContext import org.apache.spark.graphx.{Edge, Graph} import org.apache.spark.rdd.RDD import org.apache.spark.sql.SparkSession object PageRank { def main(args: Array[String]): Unit = { val spark: SparkSession = SparkSession.builder() .appName(this.getClass.getName) .master("local[4]") .getOrCreate() val sc: SparkContext = spark.sparkContext import spark.implicits._ // 構建用戶的點集合 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)) )) // 構建用戶的邊集合 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) )) // 通過頂點和邊構建圖形 val graph = Graph(users, cntCall) // 可以直接通過API調用PageRank算法, // 只需要傳入一個參數: ①精度, 這個值越小, 精度越高, 迭代次數越多 val ranks: Graph[Double, Double] = graph.pageRank(0.000001) ranks.vertices.repartition(1).sortBy(_._2, false).foreach(println) // (頂點ID, 頂點所得分數) // (1,1.7924127957615184) // (6,0.9969646507526427) // (2,0.9969646507526427) // (4,0.9688717814927127) // (3,0.6996243163176441) // (5,0.5451618049228395) } } ```
                  <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>

                              哎呀哎呀视频在线观看