2011-03-21 6 views

Répondre

22

À partir de Hive 0.14.0 Merci à @hwrdprkns pour les commentaires. A partir de la Ruche 0.14.0 il y a un soutien pour les tables temporaires https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables
Lien vers le JIRA: https://issues.apache.org/jira/browse/HIVE-7090

La syntaxe est CREATE TEMPORARY TABLE TABLE_NAME_HERE (key string, value string)

Pre Ruche 0.14.0
Je ne pense pas que la Ruche a temporaire tables identique à quelque chose comme SQL Server fait. Vous pouvez cependant faire quelque chose comme des tables temporaires avec Hive.

Si vous créez une table avec le schéma dont votre table temporaire a besoin, alors faites une requête en remplissant la table avant d'exécuter la requête nécessitant les données, elle agira comme une table temporaire.

Les étapes seraient:

  1. Créer une table
  2. Remplir le tableau: INSERT OVERWRITE TABLE temptbl <select_query>
  3. Exécuter requête

Lorsque vous exécutez votre requête, vous pouvez utiliser temptbl comme une autre table. Le INSERT OVERWRITE remplacera toutes les données de la table afin qu'il ne soit rempli qu'avec les données pour cette exécution. Les données persistent, donc si vous réutilisez la table sans la rouvrir, vous utiliserez les données de la dernière exécution.

Cela peut certainement rencontrer des problèmes si la même table sera nécessaire en même temps, mais pour des données différentes ...

D'après ce que j'ai pu trouver, c'est la seule solution à un ' table temporaire à Hive en ce moment.

+1

Merci. Oui, c'est la seule solution que j'ai trouvée aussi. J'espérais juste qu'il y aurait un support pour une table qui est automatiquement supprimée quand la session donnée se termine. – CMaury

+1

Je voudrais juste signaler que la ruche a été mise à jour pour supporter les tables temporaires: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables! – hwrdprkns

Questions connexes