web-dev-qa-db-fra.com

Tableau d'écrasement d'insertion de ruche

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?

15
Anna Mai

L'auto-filtrage et l'insertion ne sont pas encore pris en charge dans Hive.

Je suggérerais les étapes suivantes dans votre cas:

  1. 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.

30
K S Nidhin