多个联接的HiveQL查询

时间:2014-04-18 00:02:14

标签: sql join hive hiveql

我是HIVE的新手。我正在尝试为连接实现一个简单的HiveQL查询。但是由于HiveQL缺乏知识,并且互联网上与HiveQl相关的资源很少,我仍然坚持构建一个简单的查询,只需要几秒钟的常规SQL。

情景:

我有4张桌子。每张桌子都有" playerid"列中。我只想将所有表连接在一起,并在SQL中打印出如下所述的结果。 例如: -

select A.column1 ,B.column2,C.column3,D.column4 
from 
Table1 A,Table2 B,Table3 C,Table4 D
where
A.playerid = B.playerid
and
A.playerid = C.playerid
and
A.playerid = D.playerid

我想在HiveQL中进行类似的查询。我知道如何使用JOIN ON语句在HiveQL中连接两个表,但是加入很多表很有挑战性。

2 个答案:

答案 0 :(得分:2)

    select A.column1,B.column2,C.column3,D.column4 
       from Table1 A 
          join Table2 B on(A.playerid = B.playerid) 
          join Table3 C on (A.playerid = C.playerid) 
          join Table4 D on (A.playerid = D.playerid)

答案 1 :(得分:1)

SELECT a.column1, b.column2, c.column3, d.column4
  FROM a
  JOIN b ON (a. playerid = b. playerid)
  JOIN c ON (c. playerid = b. playerid)
  JOIN d ON (d. playerid = c. playerid)

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins