object Util extends Serializable {
def add(str: String): String = str + " ha ha"
}
object Job extends Serializable {
def start(days: Int): Unit = {
import spark.implicits._
val data = (0 to days).toList.toDS.map(x => Util.add(x.toString))
data.collect.foreach(println)
}
}
Job.start(10)
Я сделал очень простой скрипт, чтобы проверить, почему проблема с Task-Not-Serializable возникает в Zeppelin. Если я поменяю Util.add(x.toString)
на x.toString + " ha ha"
, то все в порядке. Но мне интересно, почему я не могу использовать объект Util здесь.