2013-11-15 82 views
0

我試圖在Hive中使用插入覆蓋。基本上我想插入覆蓋不是完整的分區,但只有少數記錄在分區。我沒有找到任何解決方案(基於非分區列上的篩選器在目標表中插入覆蓋)。 有什麼辦法可以實現它嗎?在Hive中插入覆蓋

+0

要更新只有特定的行? –

回答

0

只需插入(不覆蓋)。我是從這方面的經驗談起的(我廣泛使用了這個特性)。這不是配置單元上的原始功能:它與0.8+版本相關聯

0

配置單元不是普通的RDBMS,如果要更新記錄,請簡單地執行INSERT OVERWRITE TABLE Table_Name ...簡單地將數據更改爲一個臨時表或通過使用WITH子句直接插入覆蓋...通過使用表分區..這是安全的。

QUERY [HIVE]:

WITH AS TEMP_TABLE(SELECT * FROM SOURCE_TABLE_NAME)

INSERT OVERWRITE TABLE TARGET_TABLE_NAME SELECT * FROM TEMP_TABLE