Hive加入查询的性能 [英] Hive join query for performance
本文介绍了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屋!
查看全文