[HADOOP] Spio 작업이 java.io.NotSerializableException 때문에 실패했습니다 : org.apache.spark.SparkContext
HADOOPSpio 작업이 java.io.NotSerializableException 때문에 실패했습니다 : org.apache.spark.SparkContext
RDD [(Int, ArrayBuffer [(Int, Double)])] 입력에 메서드 (ComputeDwt)를 적용하려고 할 때 예외가 발생합니다. 심지어는 직렬화 옵션을 사용하여 spark 객체를 직렬화합니다. 코드 스 니펫이 있습니다.
input:series:RDD[(Int,ArrayBuffer[(Int,Double)])]
DWTsample extends Serialization is a class having computeDwt function.
sc: sparkContext
val kk:RDD[(Int,List[Double])]=series.map(t=>(t._1,new DWTsample().computeDwt(sc,t._2)))
Error:
org.apache.spark.SparkException: Job failed: java.io.NotSerializableException: org.apache.spark.SparkContext
org.apache.spark.SparkException: Job failed: java.io.NotSerializableException: org.apache.spark.SparkContext
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:760)
at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:758)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:60)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:758)
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitMissingTasks(DAGScheduler.scala:556)
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$submitStage(DAGScheduler.scala:503)
at org.apache.spark.scheduler.DAGScheduler.processEvent(DAGScheduler.scala:361)
at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$run(DAGScheduler.scala:441)
at org.apache.spark.scheduler.DAGScheduler$$anon$1.run(DAGScheduler.scala:149)
아무도 내게이 문제를 극복하기 위해 무엇이 문제 일 수 있으며 무엇을해야한다고 제안 할 수 있습니까?
해결법
-
==============================
1.라인
라인
series.map(t=>(t._1,new DWTsample().computeDwt(sc,t._2)))
SparkContext (sc)를 참조하지만 SparkContext는 직렬화 할 수 없습니다. SparkContext는 드라이버에서 실행되는 작업을 표시하도록 설계되었습니다. 작업자에게 실행되는 코드는이를 참조하거나 사용할 수 없습니다.
sc가 맵 함수 클로저에서 참조되지 않도록 코드를 다시 구조해야합니다.
from https://stackoverflow.com/questions/23605542/spark-job-is-failed-due-to-java-io-notserializableexception-org-apache-spark-sp by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hive 컴파일러가 생성 한 MapReduce 작업 소스 코드는 어떻게 얻을 수 있습니까? (0) | 2019.06.19 |
---|---|
[HADOOP] Hadoop dfs 복제 (0) | 2019.06.18 |
[HADOOP] HBase에서 스트리밍되는 Hadoop mapreduce (0) | 2019.06.18 |
[HADOOP] 하이브 테이블의 count (*)에 대한 잘못된 결과 (0) | 2019.06.18 |
[HADOOP] Yarn ResourceManager에없는 슬레이브 노드 (0) | 2019.06.18 |