Исключение: org. apache .spark.SparkException: задача не сериализуется - PullRequest
1 голос
/ 09 марта 2020

Я обучил логистике c регрессионную модель и хочу рассчитать recall@25.I использованную искру версии 3.0.0 и scala 2.12.3.

val model = pipeline.fit(train)
val predicted = model.transform(test)
val predictionAndLabels = predicted.
select($"prediction",$"label")
.as[(Double, Double)]
val Arr = predictionAndLabels.rdd.map(x => (Array(x._1),Array(x._2)))
val matrix = new RankingMetrics(Arr)
Array(1, 25).foreach { k =>
println(s"Recall at $k = ${matrix.recallAt(k)}")
}

Исключение:

org. apache .spark.SparkException: задача не сериализуема в org. apache .spark.util.ClosureCleaner $ .ensureSerializable (ClosureCleaner. scala: 396) в org. apache .spark. util.ClosureCleaner $ .clean (ClosureCleaner. scala: 386) в орг. apache .spark.util.ClosureCleaner $ .clean (ClosureCleaner. scala: 159) в орг. apache .spark.SparkContext. clean (SparkContext. scala: 2358)

Как решить?

...