2016-08-14 4 views
0

GC 오버 헤드 및 힙 공간 오류를 해결할 수 있도록 안내해주십시오.하이브 : GC 오버 헤드 또는 힙 공간 오류 - 동적 파티셔닝 테이블

나는 아래의 쿼리를 사용하여 다른 테이블 (동적 파티션)에서 분할 된 테이블을 삽입하려고

: 또한 원사 현장에서 추가

export HADOOP_CLIENT_OPTS=" -Xmx2048m" 
set hive.exec.dynamic.partition=true; 
set hive.exec.dynamic.partition.mode=nonstrict; 
SET hive.exec.max.dynamic.partitions=2048; 
SET hive.exec.max.dynamic.partitions.pernode=256; 
set mapreduce.map.memory.mb=2048; 
set yarn.scheduler.minimum-allocation-mb=2048; 
set hive.exec.max.created.files=250000; 
set hive.vectorized.execution.enabled=true; 
set hive.merge.smallfiles.avgsize=283115520; 
set hive.merge.size.per.task=209715200; 

: 나는 다음과 같은 매개 변수를 실행 한

INSERT OVERWRITE table tbl_part PARTITION(county) 
SELECT col1, col2.... col47, county FROM tbl; 

을 .XML :

<property> 
<name>yarn.nodemanager.vmem-check-enabled</name> 
<value>false</value> 
<description>Whether virtual memory limits will be enforced for containers</description> 
</property> 

<property> 
<name>yarn.nodemanager.vmem-pmem-ratio</name> 
<value>4</value> 
<description>Ratio between virtual memory to physical memory when setting memory limits for containers</description> 
</property> 

실행 무료 -m :

  total  used  free  shared buffers  cached 
Mem:   15347  11090  4256   0  174  6051 
-/+ buffers/cache:  4864  10483 
Swap:  15670   18  15652 

코어가 1 개인 독립 실행 형 클러스터입니다. Spark에서 단위 테스트 케이스를 실행하기위한 테스트 데이터 준비.

내가 할 수있는 다른 방법을 안내해 줄 수 있습니까?

Table Parameters:  
    COLUMN_STATS_ACCURATE true     
    numFiles    13     
    numRows     10509065    
    rawDataSize    3718599422   
    totalSize    3729108487   
    transient_lastDdlTime 1470909228   

감사합니다 :

소스 테이블은 아래의 속성이 있습니다.

답변

1

DISTRIBUTE BY county 쿼리에 추가

INSERT OVERWRITE table tbl_part PARTITION(county) SELECT col1, col2.... col47, county FROM tbl DISTRIBUTE BY county; 
+0

내가 BY, 배포와 실행하고 힙 공간 오류가 발생했습니다 : – Aavik

+0

그것은 내가 추측을 사용하고 있습니다, 그래서 당신은 로그를 제공하지 않았다. 일반적으로 이것은 도움이됩니다. 할당 된 메모리를 늘리려고 했습니까? 어쩌면 기억이 거의 없어 질 수도 있습니다. 다음을 참조하십시오 : https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-hive-out-of-memory-error-oom/ 그리고 이것 : https : //blogs.msdn.microsoft. com/shanyu/2014/07/31/hadoop-yarn-memory-settings-in-hdinsight/ – leftjoin

+0

hive.vectorized.execution.enabled = true; 세트 hive.vectorized.execution.reduce.enabled = true; 세트 hive.vectorized.execution.reduce.groupby.enabled = true; 세트 yarn.nodemanager.resource.memory-mb = 8192; 세트 yarn.scheduler.minimum-allocation-mb = 2048; 세트 yarn.scheduler.maximum-allocation-mb = 8192; SET hive.tez.container.size = 7168; SET hive.tez.java.opts = -Xmx4096m; – Aavik