java不能被序列化的类_不可序列化的任务:java.io.NotSerializableException仅在类

不可序列化的任务:java.io.NotSerializableException仅在类

在调用闭包之外的函数时,会产生奇怪的行为:当函数在对象中时,一切都在工作。

当函数在类中时,获取:不可序列化的任务: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 helpclass testing {

val list = List(1,2,3)

val rddList = Spark.ctx.parallelize(list)

def doIT =  {

//again calling the fucntion someFunc

val after = rddList.map(someFunc(_))

//this will crash (spark lazy)

after.collect().map(println(_))

}

def someFunc(a:Int) = a+1}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值