2016-11-08 46 views
0

蜂巢中有2個表。表2是一張擁有數十億記錄的主表。蜂巢搜索2列存在於第二個表中的單列中

表1

name| id1 | id2 
jac | 1 | 2 
rac | 3 | 1 

表2

class | id 
first | 1 
second| 3 

我怎麼能寫在蜂巢高效的查詢來搜索,從表中都ID1和ID2 1存在於表2和隔離這些記錄?

感謝 毫秒

回答

0

大概JOIN是最好的方法:

select t1.* 
from table1 t1 join 
    table2 t2a 
    on t1.id1 = t2a.id join 
    table2 t2b 
    on t1.id2 = t2b.id; 

在其他的數據庫,EXISTSIN可能會更好,尤其是索引。我的猜測是,一個簡單的JOIN在Hive中效果最佳。