7
任务不可序列化:仅在类而非对象上调用闭包外的函数时,java.io.NotSerializableException
在闭包之外调用函数时出现奇怪的行为: 当函数在对象中时,一切正常 当函数在类中时,get: 任务不可序列化:java.io.NotSerializableException:测试 问题是我需要在类而不是对象中的代码。知道为什么会这样吗?Scala对象是否已序列化(默认值?)? 这是一个工作代码示例: object working extends App { val list = List(1,2,3) val rddList = Spark.ctx.parallelize(list) //calling function outside closure val after = rddList.map(someFunc(_)) def someFunc(a:Int) = a+1 after.collect().map(println(_)) } 这是不起作用的示例: object NOTworking extends App { new testing().doIT } //adding extends Serializable wont help class testing { …