Hive是否支持临时表?我在apache文档中找不到它。
答案 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执行类似临时表的操作。
如果使用临时表所需的模式创建表,则在运行需要数据的查询之前执行填充表的查询,它将像临时表一样运行。
步骤如下:
INSERT OVERWRITE TABLE temptbl <select_query>
运行查询时,可以像使用任何其他表一样使用temptbl
。 INSERT OVERWRITE
将覆盖表中的所有数据,因此只会填充该运行的数据。数据仍然存在,因此如果您重新使用该表而不重新填充它,您将使用上次运行的数据。
如果同时需要相同的表但是对于不同的数据,这肯定会遇到问题......
从我能够找到的,这是目前Hive中“临时”表的唯一解决方案。
答案 1 :(得分:0)
以下是我在 hive 中创建临时表的方法:
CREATE TEMPORARY TABLE temp_tbl_name AS
SELECT ...