2011-03-21 18 views

Respuesta

22

A partir de colmena 0.14.0 Gracias a @hwrdprkns por comentar. A partir de la colmena 0.14.0 hay soporte para tablas temporales https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables
Enlace a la JIRA: https://issues.apache.org/jira/browse/HIVE-7090

La sintaxis es CREATE TEMPORARY TABLE TABLE_NAME_HERE (key string, value string)

Pre Colmena 0.14.0
no creo colmena tiene temporal tablas lo mismo que algo como SQL Server. Sin embargo, puedes hacer algo como tablas temporales con Hive.

Si crea una tabla con el esquema que su tabla temporal necesita, y luego realiza una consulta que llena la tabla antes de ejecutar la consulta que necesita los datos, actuará como una tabla temporal.

Los pasos serían:

  1. Crear Tabla
  2. Tabla Relleno: INSERT OVERWRITE TABLE temptbl <select_query>
  3. Ejecutar consulta

Cuando se ejecuta la consulta puede utilizar temptbl como cualquier otra tabla. El INSERT OVERWRITE sobrescribirá todos los datos en la tabla, por lo que solo se completará con los datos de esa ejecución. Los datos persisten, por lo que si vuelve a utilizar la tabla sin volver a llenarla, utilizará los datos de lo que fue la última ejecución.

Esto sin duda puede que tenga problemas si será necesaria la misma mesa, al mismo tiempo pero por diferentes datos ...

Por lo que he podido encontrar, esta es la única solución a un ' mesa temporal en Hive en este momento.

+1

Gracias. Sí, esta es la única solución que he encontrado también. Solo esperaba que hubiera soporte para una tabla que se elimina automáticamente cuando finaliza la sesión determinada. – CMaury

+1

Simplemente me gustaría señalar que la sección se ha actualizado para admitir tablas temporales: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables! – hwrdprkns

Cuestiones relacionadas