Pourriez-vous me guider pour résoudre ce problème de surcharge GC et d'espace mémoire.Hive: erreur GC Overhead ou Heap space - table partitionnée dynamique
Je suis en train d'insérer table partitionnée d'une autre table (partition dynamique) en utilisant la requête suivante:
INSERT OVERWRITE table tbl_part PARTITION(county)
SELECT col1, col2.... col47, county FROM tbl;
J'ai couru les paramètres suivants:
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;
ajouté également dans le fil site .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>
Parkour -m:
total used free shared buffers cached
Mem: 15347 11090 4256 0 174 6051
-/+ buffers/cache: 4864 10483
Swap: 15670 18 15652
C'est un cluster autonome avec 1 cœur. Préparation des données de test pour exécuter mes tests unitaires en étincelle.
Pourriez-vous guider quoi d'autre que je pourrais faire.
La table source possède les propriétés suivantes:
Table Parameters:
COLUMN_STATS_ACCURATE true
numFiles 13
numRows 10509065
rawDataSize 3718599422
totalSize 3729108487
transient_lastDdlTime 1470909228
vous remercie.
j'ai couru avec DISTRIBUER BY et obtenu l'erreur de l'espace de tas: – Aavik
Vous n'avez pas fourni les journaux, il est donc j'utilise supposition. Habituellement, cela aide. Avez-vous essayé d'augmenter la mémoire allouée? Peut-être que ça manque vraiment de mémoire. Voir ceci: https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-hive-out-of-memory-error-oom/ Et ceci: https: //blogs.msdn.microsoft. com/shanyu/2014/07/31/hadoop-yarn-memory-settings-dans-hdinsight/ – leftjoin
hive.vectorized.execution.enabled = true; Définir hive.vectorized.execution.reduce.enabled = true; set hive.vectorized.execution.reduce.groupby.enabled = true; régler le fil.nodemanager.resource.memory-mb = 8192; set yarn.scheduler.minimum-allocation-mb = 2048; set yarn.scheduler.maximum-allocation-mb = 8192; SET hive.tez.container.size = 7168; SET hive.tez.java.opts = -Xmx4096m; – Aavik