0
我剛開始學習scala和spark。這裏有一個關於scala功能和類的問題:在spark中使用函數或類的scala:org.apache.spark.SparkException:任務不可序列化
我的環境是scala,spark,linux,vm virtualbox。在終結者,我定義一個類:
scala> class MyClass extends Serializable {
| val field = "Hello"
| def doStuff(rdd: RDD[String]): RDD[String] = { rdd.map(x => field + x) }
| }
var a=new MyClass
aaa=sc.textFile("data.txt")
其中data.txt中是非常簡單的:
當我嘗試a.doStuff(AAA),我得到了以下錯誤信息:
org.apache.spark.SparkException: Task not serializable
at org.apache.spark.util.ClosureCleaner$.ensureSerializable(ClosureCleaner.scala:304)
at org.apache.spark.util.ClosureCleaner$.org$apache$spark$util$ClosureCleaner$$clean(ClosureCleaner.scala:294)
at org.apache.spark.util.ClosureCleaner$.clean(ClosureCleaner.scala:122)
at org.apache.spark.SparkContext.clean(SparkContext.scala:2055)
....
我嘗試了一些我在網上找到的方法。只是不能得到它的工作。 任何人都可以提供幫助嗎?許多人認爲。 因爲我是初學者,請給我儘可能多的細節,如果這是一個很大的麻煩。否則,我可能仍然感到困惑。非常感謝。
發表您的全火花圖。 –
非常感謝我以某種方式想出來。 –