我有一個「任務不可序列」異常當我運行火花Scala的程序與火花Scala編程爲不序列化的對象和功能
- 火花RDDS不是可序列化的類型(java類)
- 稱爲功能從沒有序列化的類(Java類,再次)
我的代碼是這樣的
object Main{
def main(args : Array(String){
...
var rdd = sc.textFile(filename)
.map(line => new NotSerializableJClass(line)).cache()
//rdd is RDD[NotSerializableJClass]
...
var test = new NotSerializableJPredicate()
rdd = rdd.filter(elem => test.test(elem))
//throws TaskNotSerializable on test Predicate class
}
}
我注意到,我可以
rdd = rdd.filter(elem => (new NotSerializableJPredicate()).test(elem))
解決第二個部分,但我仍然拿到異常的類RDDS對象。另一種方式也是另一種方式,因爲我不想創建大量的PredicateClass對象。
你能幫我嗎?我如何繼續使用不可序列化的類?
「NotSerializableJClass」是您的應用程序中定義的第三方類還是類? – himanshuIIITian