Je suis nouveau sur Hive et je voulais savoir si l'insertion par écrasement écraserait une table existante que j'ai créée. Je souhaite filtrer une table déjà créée, appelons-la TableA, pour sélectionner uniquement les lignes dont l'âge est supérieur à 18. Puis-je y parvenir en utilisant la table d'insertion par écrasement?
Je pense écrire quelque chose comme:
INSERT OVERWRITE TABLE TableA SELECT a.Age FROM TableA WHERE a.Age > = 18
il y a des entrées NA dans le tableau que j'ai créé, mais je suppose qu'après avoir filtré ce tableau, il n'y aura pas d'AN dans la colonne Âge, non?
L'auto-filtrage et l'insertion ne sont pas encore pris en charge dans Hive.
Je suggérerais les étapes suivantes dans votre cas:
Créez un tableau similaire, disons tabB, avec la même structure.
create table tabB like tableA;
Ensuite, vous pouvez appliquer votre filtre et l'insérer dans ce nouveau tableau.
INSERT OVERWRITE TABLE tabB SELECT a.Age FROM TableA WHERE a.Age > = 18
J'espère que cela t'aides.