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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值