Spark Task mit Lag Window Funktion nicht serialisierbar

Ich habe festgestellt, dass nach der Verwendung einer Window-Funktion über einen DataFrame beim Aufrufen einer map () mit einer Funktion Spark eine "Task nicht serialisierbar" zurückgibt. Ausnahme Dies ist mein Code:

val hc:org.apache.spark.sql.hive.HiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
import hc.implicits._
import org.apache.spark.sql.expressions.Window
import org.apache.spark.sql.functions._
def f():String = "test"
case class P(name:String,surname:String)
val lag_result:org.apache.spark.sql.Column = lag($"name",1).over(Window.partitionBy($"surname"))
val lista:List[P] = List(P("N1","S1"),P("N2","S2"),P("N2","S2"))
val data_frame:org.apache.spark.sql.DataFrame = hc.createDataFrame(sc.parallelize(lista))
df.withColumn("lag_result", lag_result).map(x => f)
//df.withColumn("lag_result", lag_result).map{case x => def f():String = "test";f}.collect // This works

Und das ist der Stack Trace:

org.apache.spark.SparkException: Task bei org.apache.spark.util.ClosureCleaner $ .ensureSerializable (ClosureCleaner.scala: 304) bei org.apache.spark.util.ClosureCleaner $ .org $ apache $ spark $ nicht serialisierbar util $ ClosureCleaner $ clean (ClosureCleaner.scala: 294) bei org.apache.spark.util.ClosureCleaner $ .clean (ClosureCleaner.scala: 122) bei org.apache.spark.SparkContext.clean (SparkContext.scala: 2055) bei org.apache.spark.rdd.RDD $ anonfun $ map $ 1.apply (RDD.scala: 324) bei org.apache.spark.rdd.RDD $ anonfun $ map $ 1.apply (RDD.scala: 323) at ... and more Auslöser: java.io.NotSerializableException: org.apache.spark.sql.Column Serialization stack: - Objekt nicht serialisierbar (Klasse: org.apache.spark.sql.Column, Wert: 'lag (Name , 1, null) Fensterspezifikationsdefinition (Nachname, nicht angegebener Rahmen) - Feld (Klasse: $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC $ iwC, Name: lag_result, Typ: class org.apache. spark.sql.Column) ... und mehr