oracle-hive同步-merge/delete

本文介绍了如何通过Hive查询来同步数据到Oracle,以实现增量更新和删除操作,从而减少全量推送的资源消耗。通过在Hive中执行全外连接查询,将新增和更新的数据写入一个表,删除或无效数据写入另一个表。然后,将这两个Hive表的数据推送到Oracle,并在Oracle端执行Merge语句以保持数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常在hive中进行数据处理,处理好的数据再推送到oracle中使用,需要保持两边数据一致,再推送的时候最好的方式是sqoop的merge形式全量推送,但这样消耗的资源、时间很长,可以只推送新增、更新、删除的数据给oracle,之后再再oracle中对目标表再单独的执行一段merge程序进行更新,筛选出这些数据的sql可参考下面这样的示例:

其中:from  使用多模式插入

     tel_m存储 新增、更新的数据

     tel_d存储需要删除的数据、无效数据

 from( select pre.tel_num  as  pre_tel_num,
             pre.shield_code        as  pre_shield_code,
              pre.shield_reason        as  pre_shield_reason,
             new.tel_num,
             new.shield_code,
              new.shield_reason
        from (select tel_num,
                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值