У меня возникла очень интересная ошибка, когда я пытаюсь передать фрейм данных в RDD в своем классе.
Я создаю класс с именем ROC, и он выглядит так:
class ROC(lines : DataFrame, x: Int, y: Int) {
private val metrics: BinaryClassificationMetrics =
new BinaryClassificationMetrics(
lines.map(row => (row.getDouble(x), row.getDouble(y))))
}
Это дает мне ошибку
org.apache.spark.SparkException: Task not serializable
Но когда я набираю 0 и 1 в getDouble() вместо передачи параметров x и y, все в порядке.
lines.map(row => (row.getDouble(0), row.getDouble(1))))
Хотя я исправил эту проблему, добавив метод выбора перед картой, мне очень любопытно, как это произошло. Любые идеи? Большое спасибо!
x
иy
этоString
? - person axiom   schedule 11.05.2016