Как передать График в качестве параметра для метода в Scala - PullRequest
0 голосов
/ 02 декабря 2019

Я новичок в Scala и хочу создать класс для управления задачами Graph. Поэтому я хочу передать объект Graph моему классу в качестве аргумента. Например:

val graph = Graph(users, edges, nowhere)
users: RDD[(Long, String)],
edges: RDD[Edge(Long, Long, String)]
nowhere: String

и это мой класс

import org.apache.spark._
import org.apache.spark.rdd.RDD
import org.apache.spark.util.IntParam
// import classes required for using GraphX
import org.apache.spark.graphx._

class GraphAnalyzer(_graph: ???? ) {
  val graph:???? =_graph

  def GetVertecies(str: String): Long = {
    val nodesCount: Long =graph.vertices.count()
    nodesCount
  }
}

Я не знаю, что мне делать в "???"часть моего класса. Может ли кто-нибудь помочь мне сделать это?

1 Ответ

0 голосов
/ 02 декабря 2019

Я нашел решение.

это просто, и IDE может помочь нам. Затмение показало мне подсказку. основанный на структуре графа, и это действительно зависит от вершин и ребер графа.

Я использовал следующий тип, и он работает:

import org.apache.spark._
import org.apache.spark.rdd.RDD
import org.apache.spark.util.IntParam
// import classes required for using GraphX
import org.apache.spark.graphx._

class GraphAnalyzer(_graph: Graph[String, Int]  ) {
  val graph:Graph[String, Int]  =_graph

  def GetVertecies(): Long = {
    val nodesCount: Long = graph.vertices.count().toLong
    nodesCount*100
  }
}
...