[HADOOP] saveAsTextFile을 사용하여 NullPointerException을 발생시킵니다.
HADOOPsaveAsTextFile을 사용하여 NullPointerException을 발생시킵니다.
RPE를 합치고 저장하려고 할 때 NPE가 표시됩니다.
코드는 로컬에서 작동하며 스칼라 셸의 클러스터에서 작동하지만 클러스터로 작업으로 제출할 때 오류가 발생합니다.
rdd에 null 데이터가 포함되어 있는지 확인하기 위해 take ()를 사용하여 인쇄를 시도했지만이 오류는 쉘에서 정상적으로 작동하므로 동일한 오류가 발생합니다.
나는 HDFS에 저장하고 변수의 전체 url 경로를 가지고 있습니다 - 모델은 MLLib 훈련 단계에서이 방법으로 잘 저장합니다.
어떤 아이디어가 많이 감사!
스칼라 코드 (전체 예측 함수) :
//Load the Random Forest
val rfModel = RandomForestModel.load(sc, modelPath)
//Make the predictions - Here the label is the unique ID of the point
val rfPreds = labDistVect.map(p => (p.label, rfModel.predict(p.features)))
//Collect and save
println("Done Modelling, now saving preds")
val outP = rfPreds.coalesce(1,true).saveAsTextFile(outPreds)
println("Done Modelling, now saving coords")
val outC = coords.coalesce(1,true).saveAsTextFile(outCoords)
스택 추적 :
Exception in thread "main" org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 6.0 failed 4 times, most recent failure: Lost task 0.3 in stage 6.0 (TID 40, XX.XX.XX.XX): java.lang.NullPointerException
at GeoDistPredict1$$anonfun$38.apply(GeoDist1.scala:340)
at GeoDistPredict1$$anonfun$38.apply(GeoDist1.scala:340)
at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
at scala.collection.Iterator$$anon$10.next(Iterator.scala:312)
at scala.collection.Iterator$class.foreach(Iterator.scala:727)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
at scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
해결법
-
==============================
1.스파크 동작은 지연 변환과 동작으로 구분됩니다.
스파크 동작은 지연 변환과 동작으로 구분됩니다.
RDD에서 동작이 호출되면 RDD에서 지연된 변환이 수행됩니다. 따라서 변환을 실행하면 수행 할 작업으로 저장됩니다.
saveAsTextFile 메소드는 맵 조작이 변환되는 동안 조치입니다.
변환 단계에서 문제가 발생하면 변환이 호출 된 작업 단계 단계에서 문제로 표시됩니다.
따라서지도 작업 중에 NPE 문제의 원인이 될 수있는 필드에 Null 값이있는 문제가있을 수 있습니다.
from https://stackoverflow.com/questions/32923262/spark-nullpointerexception-with-saveastextfile by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Spark 작업으로 제출 될 때 Spark RDD 맵의 NullPointerException (0) | 2019.06.11 |
---|---|
[HADOOP] PL / SQL을 하이브 QL로 변환 (0) | 2019.06.11 |
[HADOOP] 직렬화에서 Avro NullPointerException이있는 MRUnit (0) | 2019.06.11 |
[HADOOP] Hadoop MapReduce에서 Map 출력 값으로 Object를 어떻게 설정합니까? (0) | 2019.06.11 |
[HADOOP] 로컬로 스파크 작업을 실행할 때 "Scheme : gs에 대한 파일 시스템 없음" (0) | 2019.06.11 |