В искры замените partialFunction другой полученной ошибкой

Вот мой код: implray pageRank algo:

def pageRank(sc: SparkContext): Unit = {
  //Init
  val links = xxx//data type: String, List[String]
  var ranks = links.mapValues(_ => 1.0)

  //Iteration
  for (i <- 0 until iterCnt) {
  val contributions = links.join(ranks)
    //use partialFunc
    .flatMap{
    case (_, (linkList, rank)) =>
      val tuples = linkList.map(dest => (dest, rank / linkList.size))
      tuples
  }
  ranks = contributions.reduceByKey((x, y) => x + y)
    .mapValues(v => {
      (1 - alpha) + alpha * v
    })
  }
}

Я хочу использовать функцию ниже, чтобы заменить partialFunction на flatmap:

val tupleFunc = (_: String, linkRank:(List[String], Double)) => {
  val linkList = linkRank._1
  val rank = linkRank._2
  linkList.map(dest => (dest, rank / linkList.size))
}

Но я получил " type list (ошибка): found: (String, (List [String], Double)) => List [(String, Double)] required: ((String, (List [String], Double))) => TraversableOnce [? ]

Я что-то пропустил?

0
задан 13 August 2018 в 14:39

0 ответов

Другие вопросы по тегам:

Похожие вопросы: