7
ภารกิจไม่สามารถทำให้เป็นอนุกรมได้: java.io.NotSerializableException เมื่อเรียกใช้ฟังก์ชันภายนอกที่ปิดเฉพาะคลาสที่ไม่ใช่วัตถุเท่านั้น
รับพฤติกรรมที่ผิดปกติเมื่อเรียกใช้ฟังก์ชันนอกการปิด: เมื่อฟังก์ชั่นอยู่ในวัตถุทุกอย่างทำงานได้ เมื่อฟังก์ชั่นอยู่ในคลาสจะได้รับ: ภารกิจไม่สามารถทำให้เป็นอนุกรมได้: java.io.NotSerializableException: testing ปัญหาคือฉันต้องการรหัสในชั้นเรียนไม่ใช่วัตถุ มีความคิดว่าทำไมสิ่งนี้เกิดขึ้น? วัตถุ 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 …