赞
踩
业务需求:
在hive表中需要进行两表合并,并将值插入到新表当中
表关联为a.id =b.sid
表a1和表b1合并为表c
1.利用外连接
insert into table c
select a.*,b.*
from (select * from a1)a
left join (select * from a1)b
on (a.id=b.sid);
此时可依成功插入到表c中,但是左连接情况下b表插入到c表中的数据均为空
如果改成right join 则a表插入到c表中的数据为空
2.union all
INSERT INTO TABLE c
select * from a1 where id in (select sid from b1)
union all
select * from b1 where sid in (select id from a1)
插入不成功,因为需要字段一致,数量,类型等
这种方式仅支持将两张一样的表合并为一张新表
总结:hive不支持外连接将两张表合并为新表,仅支持两张一样的表合并操作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。