tarihinde UDF Görev Serializable değil ben org.apache.spark.SparkException: Task not serializable
olsun. Bu veri çerçevesinin herhangi bir sorunu yok.Kıvılcım: Ben Spark 1.4.1 aşağıdaki yürütmeye çalıştığınızda DataFrame
Tamsayılar için benzer UDF'lere sahibim ve sorunsuz çalışıyorlar. Ancak, zaman damgası olan bir sorun gibi görünüyor. documentation'a göre, java.sql.TimeStamp
, Serializable
uygular, bu yüzden sorun değil. Aynısı, here görüldüğü gibi SimpleDateFormat
için de geçerlidir.
Bu, sorunlara neden olan UDF'nin olduğuna inanıyorum. Ancak, ne ve nasıl düzeltileceğinden emin değilim.
izinin ilgili bölümü:
Caused by: java.io.NotSerializableException: ...
Serialization stack:
- object not serializable (class: ..., value: [email protected])
- field (class: ...$ConversionUtils$$anonfun$3, name: $outer, type: class ...$ConversionUtils$)
- object (class ...$ConversionUtils$$anonfun$3, <function1>)
- field (class: org.apache.spark.sql.catalyst.expressions.ScalaUdf$$anonfun$2, name: func$2, type: interface scala.Function1)
- object (class org.apache.spark.sql.catalyst.expressions.ScalaUdf$$anonfun$2, <function1>)
- field (class: org.apache.spark.sql.catalyst.expressions.ScalaUdf, name: f, type: interface scala.Function1)
- object (class org.apache.spark.sql.catalyst.expressions.ScalaUdf, scalaUDF(ts_str#2683))
- field (class: org.apache.spark.sql.catalyst.expressions.Alias, name: child, type: class org.apache.spark.sql.catalyst.expressions.Expression)
- object (class org.apache.spark.sql.catalyst.expressions.Alias, scalaUDF(ts_str#2683) AS ts#7146)
- element of array (index: 35)
- array (class [Ljava.lang.Object;, size 36)
- field (class: scala.collection.mutable.ArrayBuffer, name: array, type: class [Ljava.lang.Object;)
- object (class scala.collection.mutable.ArrayBuffer,
Adam, şimdi çok aptal hissediyorum ... teşekkürler! – Ian
Cevabımı kabul ettiğinizde sizi daha iyi hissettirecek ';-)' –
Önemli değil. Ancak bu soruyu ve yanıtı burada görmek için daha iyi hissetmemi sağladı. Yukarı oy, teşekkürler! –