在Hive中创建临时表?

时间:2011-03-21 23:59:24

标签: hadoop hive

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

2 个答案:

答案 0 :(得分: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/browse/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. 运行查询
  4. 运行查询时,可以像使用任何其他表一样使用temptblINSERT OVERWRITE将覆盖表中的所有数据,因此只会填充该运行的数据。数据仍然存在,因此如果您重新使用该表而不重新填充它,您将使用上次运行的数据。

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

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

答案 1 :(得分:0)

以下是我在 hive 中创建临时表的方法:

CREATE TEMPORARY TABLE temp_tbl_name AS
SELECT ...
相关问题