[HADOOP] Spark 작업으로 제출 될 때 Spark RDD 맵의 NullPointerException
HADOOPSpark 작업으로 제출 될 때 Spark RDD 맵의 NullPointerException
우리는 스파크 일자리 (스파크 2.0, hadoop 2.7.2)를 제출하려고하지만 어떤 이유로 인해 EMR에서 약간의 NPE를 받고 있습니다. 스칼라 프로그램처럼 모든 것이 잘 실행되므로 문제의 원인을 정확히 알 수 없습니다. 다음은 스택 추적입니다.
우리가 알 수있는 한 다음과 같은 방법으로 발생합니다.
def process(dataFrame: DataFrame, S3bucket: String) = {
dataFrame.map(row =>
"text|label"
).coalesce(1).write.mode(SaveMode.Overwrite).text(S3bucket)
}
우리는 spark 작업으로 제출할 때 작동하는 맵 기능으로 축소했습니다.
def process(dataFrame: DataFrame, S3bucket: String) = {
dataFrame.coalesce(1).write.mode(SaveMode.Overwrite).text(S3bucket)
}
누구든지이 문제의 원인을 파악할 수 있습니까? 또한 어떻게 해결할 수 있습니까? 우리는 꽤 난처한 처지입니다.
해결법
-
==============================
1.나는 당신이 작업자가 아닌 드라이버에만 존재하는 SparkContext 객체에 접근하려고 할 때 NullPointerException을 throw한다고 생각한다.
나는 당신이 작업자가 아닌 드라이버에만 존재하는 SparkContext 객체에 접근하려고 할 때 NullPointerException을 throw한다고 생각한다.
coalesce ()는 데이터를 다시 분할합니다. 하나의 파티션 만 요청하면 하나의 파티션에 모든 데이터를 집어 넣으려고 시도합니다 *. 따라서 응용 프로그램의 메모리 사용 공간에 많은 부담을 줄 수 있습니다.
일반적으로 파티션을 1 개만 축소하지 않는 것이 좋습니다.
자세한 내용은 다음을 참조하십시오. saveAsTextFile 및 this로 Spark NullPointerException.
from https://stackoverflow.com/questions/38986776/nullpointerexception-in-spark-rdd-map-when-submitted-as-a-spark-job by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] org.apache.hadoop.conf.Configuration은 hadoop-core.jar에 존재하지 않습니다. (0) | 2019.06.12 |
---|---|
[HADOOP] Hadoop ClassNotFoundException (0) | 2019.06.11 |
[HADOOP] PL / SQL을 하이브 QL로 변환 (0) | 2019.06.11 |
[HADOOP] saveAsTextFile을 사용하여 NullPointerException을 발생시킵니다. (0) | 2019.06.11 |
[HADOOP] 직렬화에서 Avro NullPointerException이있는 MRUnit (0) | 2019.06.11 |