在hive或者oracle合并历史表和当前表中容易踩过的坑

刚开始直接使用union all 去合并当前表跟历史表,由于两张表都跑出当天数据后会造成有一天重复数据保留。

(有一种情况可以使用union all 不产生重复数据,就是当历史表不更新的时候,也就是每天只跑当前表)

然后采用 union 去直接合并,也不行在开发环境中表没数据,以上生产数据量一大就需要很长时间,于是也不能采用。

于是想到用unoin all + group by 的方式去去重,效率提升不少,但是代码量增多,用到的字段得一个个找出来去写一个查询语句再合并到一起比较麻烦。

于是尝试选择 over partition by这个去排序,结论也快不了多少,而且很多情况下不了解主键,总体代码量来说要少不少。最后大家如果有其他更好的方法也欢迎指点,有什么不对的地方也欢迎大家批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值