小编Xia*_*hao的帖子

这两个Hive查询连接两个表并过滤分区键是否存在性能差异?

假设这两个表A,并Bds他们的分区键.

方法1

SELECT * 
FROM A JOIN B ON A.userid=B.userid 
WHERE A.ds='2014-01-01' AND B.ds='2014-01-01'
Run Code Online (Sandbox Code Playgroud)

方法2

SELECT * 
FROM (
SELECT * FROM A WHERE A.ds='2014-01-01'
) JOIN (
SELECT * FROM B WHERE B.ds='2014-01-01'
) ON
A.userid=B.userid 
Run Code Online (Sandbox Code Playgroud)

第二个查询会更快吗?

我不知道如何WHEREJOIN在蜂巢的作品.是where施加子句源表之前,加入可能的(只要子句仅包含一个表的别名,如上述的那些)时,或者是它总是表的连接之后才施加(例如A.userid > B.userid具有后的施加加入)?

hive hql

7
推荐指数
1
解决办法
4230
查看次数

标签 统计

hive ×1

hql ×1