Hive加入查询的性能 [英] Hive join query for performance

查看:141
本文介绍了Hive加入查询的性能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在表格A和B上加入A.id = B.id,如下所示:

 选择A.从A.b 






$ / code>

在这里,我的TABLEB由两个值GOP和LOP分隔。



我还尝试在以下方法上执行相同的查询:

  insert overwrite table final 
select A.id,B .name from(select * from TABLEa)A
LEFT JOIN(select * from TABLEb where A.id = B.id;分隔IN('GOP')B;
insert INTOtable final
选择A.id,B.name from(select * from TABLEa)A
LEFT JOIN(select * from TABLEb where IN('LOP')B on A.id = B.id;

任何人都可以知道哪种方法应该更好? b
$ b

请帮忙

解决方案

  select 
A.id,
B.name
from
TABLEa as A
在分区IN('GOP','LOP')和A.id = B上,LEFT JOIN TABLEb为B .id


I want to left join Table A with B on A.id=B.id like below:

select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('GOP','LOP')B on A.id=B.id

here my TABLEb is partitioned by two values GOP and LOP.

I also tried to do same query on following approach:

insert overwrite table final 
select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('GOP')B on A.id=B.id;
insert INTOtable final 
select A.id,B.name from (select * from TABLEa)A 
LEFT JOIN (select * from TABLEb where partition IN ('LOP')B on A.id=B.id;

Can any body tell which approach should be better? and reason or what makes second different than first one.

please help

解决方案

select
    A.id,
    B.name
from
    TABLEa as A 
    LEFT JOIN TABLEb as B on partition IN ('GOP','LOP') and A.id=B.id

这篇关于Hive加入查询的性能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆