准备数据
2,b
3,c
4,d
7,y
8,u

2,bb
3,cc
7,yy
9,pp



建表:
create table a(id int,name string)
row format delimited fields terminated by ',';

create table b(id int,name string)
row format delimited fields terminated by ',';



导入数据:
load data local inpath '/root/hivedata/a.txt' into table a;
load data local inpath '/root/hivedata/b.txt' into table b;


inner join 只打印能匹配上的数据,没有匹配上的不输出



select * from a inner join b on a.id =b.id;


大数据学习——关于hive中的各种join_Hadoop

left join 



select * from a left join b on a.id=b.id;


大数据学习——关于hive中的各种join_数据_02

 

 right join



select * from a right join b on a.id=b.id;


大数据学习——关于hive中的各种join_hive_03

 

full outer join



select * from a full outer join b on a.id=b.id;


大数据学习——关于hive中的各种join_Hadoop_04

 

 left outer join

大数据学习——关于hive中的各种join_建表_05

left semi join



select * from a  left semi join b on a.id=b.id;


相当于

 select * from a where a.id exists(select b.id from b); 在hive中效率极低


大数据学习——关于hive中的各种join_hive_06