Еще один вопрос «задача не сериализуема». Извините, новичок в Scala и Spark, так немного изо всех сил ...
Итак, у меня есть объект с методом
object transformations {
def someMethod()(df: DataFrame): DataFrame = {
df.as[SomeCaseClass]
.map(x => AnotherCaseClass(x.col1, x.col2, x.col3, x.col4.map(
y => YetAnotherCaseClass(y.a.toString + '_' + y.b, y.c, y.d))
)
.toDF
}
}
и я хотел бы вывести манипуляции со строкой наружу, чтобы ее можно было использовать повторно Так что, если я сделаю что-то вроде этого:
object transformations {
def manipulateString()(a: Int, b: String): String = {
return a.toString + '_' + b
}
def someMethod()(df: DataFrame): DataFrame = {
df.as[SomeCaseClass]
.map(x => AnotherCaseClass(x.col1, x.col2, x.col3, x.col4.map(
y => YetAnotherCaseClass(transformations.manipulateString(y.a, y.b), y.c, y.d))
)
.toDF
}
}
Я получаю задачу, не сериализуемую ошибку.
Как правильно это сделать?
Спасибо!