解决数据发散的问题

解决hive表数据发散的问题

笔者在sqoop将hive表推送数据到pg库出现数据发散的情况,
过程简述:建立临时表C,将表A left join 表B的数据抽取到临表C,使用sqoop,推送到 pg库(关系型数据库),验数时发现推送过去的数据异常。有发散(数据重复)的情况。
首先定位发散原因:
(1)检测临时表C的数据是否异常,
如果数据正常,说明在推送过程中出现了异常,检查sqoop推送过程中的参数设置是否异常,比如说需要每次推送导入pg库,需要用sqoop上删除上一次导入的的数据,但是参数时间设置错误,未能执行。
(2)如果表C数据发散,那就是代码逻辑存在错误。
接下来分析代码问题
数据发散,一般可能是两种情况:
第一种,数据源表就存在数据发散的问题,这时你需要找到源表的负责人解决问题
第二种,我们 A left join B 的时候,使用主键的关联条件中,没有关联到表B的最小粒度。
具体方法如下(这里我们假设id为主健,dt表示当日的分区)

select  id,count(1
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值