Quelqu'un peut-il me dire quelle est la différence entre la table externe de Hive et les tables internes. Je sais que la différence se fait lors de la suppression de la table. Je ne comprends pas ce que vous voulez dire par les données et les métadonnées sont supprimées dans les tables internes et seulement les métadonnées sont supprimées dans les tables externes. Quelqu'un peut-il m'expliquer en termes de nœuds s'il vous plaît.
Réponses
Trop de publicités?Dans les tables externes, si vous les supprimez, cela ne supprime que le schéma de la table, les données de la table existent dans l'emplacement physique. Donc pour supprimer les données, utilisez hadoop fs - rmr nom de table . Le répertoire de stockage Managed Table aura un contrôle total sur les tables. Dans les tables externes, les utilisateurs auront le contrôle sur celles-ci.
Considérez ce scénario qui convient le mieux à la table externe :
Un travail MapReduce (MR) filtre un énorme fichier journal pour en sortir n
des sous-fichiers de journal (par exemple, chaque sous-fichier de journal contient un type de message spécifique) et la sortie, à savoir n
Les fichiers journaux secondaires sont stockés dans hdfs.
Ces fichiers journaux doivent être chargés dans des tables Hive pour effectuer des analyses plus poussées, dans ce scénario, je recommanderais une (des) table(s) externe(s), parce que les fichiers journaux réels sont générés et détenus par un processus externe, c'est-à-dire un travail MR, en plus vous pouvez éviter une étape supplémentaire de chargement de chaque fichier journal généré dans la table Hive respective.