[Scénario]
Exécutez l'instruction suivante dans la version hive3.1 pour signaler une erreur de
chargement de données dans la table de compartiment u_demo_bk
insert dans la table u_tab_bk_p select * from u_tab;
Cependant, les instructions insérées dans des tables ordinaires et des tables partitionnées peuvent être exécutées normalement.
[Raison] En
fin de compte, j'ai découvert que c'était dû à des ressources insuffisantes, mais la quantité de données n'était pas grande. Cela peut être lié au mécanisme de ruche. À l'origine, sa scène était de résoudre le problème du big data.
[Solution]
Enfin, le fichier yarn-site.xml a été modifié sur le nœud principal, et un paramètre a été ajouté, à savoir: désactiver la détection de la mémoire virtuelle. Le contenu complet final est le suivant:
<configuration>
<propriété>
<nom > yarn.resourcemanager.hostname </ name>
<value> node01 </value>
</property>
<property>
<name> yarn.nodemanager.aux-services </name>
<value> mapreduce_shuffle </value>
</ property >
<property>
<name> yarn .nodemanager.vmem-check-enabled </name>
<value> false </value>
</property>
</configuration>
Remarque: La partie rouge est le contenu nouvellement ajouté.
Ensuite, distribuez yarn-site.xml aux deux autres nœuds
scp yarn-site.xml node02: $ PWD
scp yarn-site.xml node03: $ PWD
Après avoir redémarré le cluster, essayez à nouveau d'insérer des données dans la table de compartiment, et enfin l'exécution réussit.