Pregunta

¿La colmena admite tablas temporales? No puedo encontrarlo en los documentos de Apache.

¿Fue útil?

Solución

A partir de Hive 0.14.0 Gracias a @hwrprkns por comentar. A partir de Hive 0.14.0 hay soporte para tablas temporales https://cwiki.apache.org/confluence/display/hive/languaganual+ddl#languaganualddl-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)

Antes de la colmena 0.14.0
No creo que Hive tenga tablas temporales de lo mismo que algo como SQL Server. Sin embargo, puede hacer algo como tablas temporales con Hive.

Si crea una tabla con el esquema que necesita su tabla temporal, haga 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 mesa
  2. Mesa de llenar: INSERT OVERWRITE TABLE temptbl <select_query>
  3. Consulta de ejecución

Cuando ejecuta su consulta, puede usar temptbl como cualquier otra tabla. los INSERT OVERWRITE sobrescribirá todos los datos en la tabla, por lo que solo se poblará con datos para esa ejecución. Los datos persisten, por lo que si reutiliza la tabla sin volver a popularlo, utilizará los datos de lo que sea la última ejecución.

Esto definitivamente puede encontrarse con problemas si se necesitará la misma tabla al mismo tiempo, pero para diferentes datos ...

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top