hive搜索2列存在于第二个表的单个列中

时间:2016-11-08 17:58:47

标签: hadoop hive

在hive中有2个表格。表2是一个包含数十亿条记录的主表。

表1

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

表2

class | id
first | 1
second| 3   

如何在hive中编写一个有效的查询来搜索表1中的id1和id2,并在表2中显示并隔离这些记录?

由于 MS

1 个答案:

答案 0 :(得分: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中效果最好。