2016-08-19 136 views
1

我試圖從子查詢更新Hive表,我知道配置單元不支持這種更新。有沒有解決這個問題的方法?Hive子查詢更新

我的更新看起來像這樣

UPDATE tmp_aka 
    SET guid = (SELECT mguid FROM tmp_maxs 
             WHERE tmp_maxs.guid = tmp_aka.guid); 
+0

如果您在> 0.14以及支持事務的表上,UPDATE可以正常工作。 – visakh

+0

是的,我知道。其實我的問題是如何使用子查詢更新表。我在EMR上使用配置單元2.1.0 – hlagvankar

回答

0

可能是你可以創建一個表的SELECT語句的結果和新創建的表中插入與插入一個新值表中選擇值

0

你可以執行子查詢中的聯接以獲得與上面的查詢中相同的值。以下工作?

UPDATE tmp_aka SET guid =(SELECT mguid FROM tmp_aka tmp JOIN tmp_maxs ON tmp_aka.guid = tmp_maxs.guid);