在Hive中创建临时表?

CMa*_*ury 22 hadoop hive

Hive是否支持临时表?我在apache文档中找不到它.

Qui*_*nnG 24

从Hive 0.14.0开始感谢@hwrdprkns的评论.从Hive 0.14.0开始,支持临时表https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables
链接到JIRA:https://issues.apache.org/ JIRA /浏览/ HIVE-7090

语法是 CREATE TEMPORARY TABLE TABLE_NAME_HERE (key string, value string)

Pre Hive 0.14.0
我不认为Hive有像SQL Server那样的临时表.您可以使用Hive执行类似临时表的操作.

如果使用临时表所需的模式创建表,则在运行需要数据的查询之前执行填充表的查询,它将像临时表一样运行.

步骤将是:

  1. 创建表
  2. 填充表: INSERT OVERWRITE TABLE temptbl <select_query>
  3. 运行查询

运行查询时,您可以temptbl像使用任何其他表一样使用.在INSERT OVERWRITE将覆盖所有表中的数据,因此只能与该运行数据来填充.数据仍然存在,因此如果您重新使用该表而不重新填充它,您将使用上次运行的数据.

如果同时需要相同的表但是对于不同的数据,这肯定会遇到问题......

从我能够找到的,这是目前Hive中"临时"表的唯一解决方案.

  • 我想指出hive已更新为支持临时表:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables! (2认同)