하이브에서 작업 엔진을 이용하는 중에 스파크 익스큐터의 메모리가 부족하면 이런 오류가 발생할 수 있습니다. 하이브 설정에서 스파크 익스큐터의 메모리를 설정하면 됩니다.
이 경우 스파크 익스큐터의 메모리가 9671로 설정되어 있어서 부족하여 오류가 발생합니다. 따라서 스파크 드라이버와 익스큐터의 메모리를 줄여주면 됩니다. 또는 yarn 설정에서 컨테이너에 메모리를 설정할 수 있는 메모리를 늘려주면 됩니다.
Launching Job 1 out of 1
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=<number>
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=<number>
In order to set a constant number of reducers:
set mapreduce.job.reduces=<number>
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.metadata.HiveException(Failed to create Spark client due to invalid resource request: Required executor memory (9671), overhead (1706 MB), and PySpark memory (0 MB) is above the max threshold (10000 MB))'
FAILED: Execution Error, return code 30042 from org.apache.hadoop.hive.ql.exec.spark.SparkTask. Failed to create Spark client due to invalid resource request: Required executor memory (9671), overhead (1706 MB), and PySpark memory (0 MB) is above the max threshold (10000 MB)
하이브의 스파크 엔진 메모리 설정
set spark.driver.memory=2g;
set spark.executor.memory=2g;
반응형
'빅데이터 > hive' 카테고리의 다른 글
[tez] TEZ ui 설정 (0) | 2021.06.16 |
---|---|
[hive] hive의 spark 엔진에서 Execution Error, return code 30041 오류 (0) | 2021.06.01 |
[hive] hive3의 mr 엔진에서 java.lang.IncompatibleClassChangeError 오류 처리 (0) | 2021.05.27 |
[hive] hive3에서 TEZ 연동시 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument 오류 처리 (0) | 2021.05.27 |
[hive-tez] 파일 개수와 사이즈에 따른 그룹핑 사이즈 설정과 처리 속도 차이 (0) | 2021.02.16 |