当前位置:   article > 正文

hive两表合并为新表踩坑_hive两张表合并到一起

hive两张表合并到一起

业务需求:

在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不支持外连接将两张表合并为新表,仅支持两张一样的表合并操作
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/969618
推荐阅读
相关标签
  

闽ICP备14008679号