多个连接的 HiveQL 查询
Posted
技术标签:
【中文标题】多个连接的 HiveQL 查询【英文标题】:HiveQL query for multiple joins 【发布时间】:2014-04-18 00:02:13 【问题描述】:我是 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 中进行类似的查询。我知道如何在 HiveQL 中使用 JOIN ON
语句连接两个表,但连接多个表具有挑战性。
【问题讨论】:
【参考方案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
【讨论】:
【参考方案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)
【讨论】:
请添加描述来解释答案。以上是关于多个连接的 HiveQL 查询的主要内容,如果未能解决你的问题,请参考以下文章