2011-03-21 107 views

回答

22

自Hive 0.14.0感謝@hwrdprkns的評論。由於蜂巢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)

預蜂巢0.14.0
我不認爲配置單元的臨時表與SQL Server類似。儘管你可以做一些像Hive一樣的臨時表。

如果您使用臨時表所需的模式創建表,然後在運行需要數據的查詢之前執行填充表的查詢,則它將像臨時表一樣工作。

的步驟將是:

  1. 創建表
  2. 填充表:INSERT OVERWRITE TABLE temptbl <select_query>
  3. 運行查詢

當你運行你的查詢,你可以使用temptbl像任何其他表。 INSERT OVERWRITE將覆蓋表中的所有數據,因此只會填充該運行的數據。數據依然存在,所以如果您重新使用表而不重新填充表,您將使用上次運行的數據。

這肯定會遇到問題,如果在同一個表將在同一時間,但對於不同的數據需要......

從我已經能夠找到,這是唯一的解決了「臨時'表在Hive中。

+1

謝謝。是的,這是我找到的唯一解決方案。我只是希望能夠支持在給定會話結束時自動刪除的表。 – CMaury 2011-03-22 17:14:59

+1

我只想指出,配置單元已更新爲支持臨時表:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-TemporaryTables! – hwrdprkns 2014-09-30 01:22:14