抽取时出现有交易记录而无会员的情况处理

本文探讨了在数据抽取过程中遇到的挑战,即Fact_Trade_log表中有记录而dbo.Dim_User表中找不到对应属性键的问题。通过调整数据抽取顺序,解决了会员信息更新导致的数据不一致问题。

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

今天的多维数据集又挂了,原因是在Fact_Trade_log表里面有的一条记录在dbo.Dim_User表里找不到相应的属性键!

那就只能去业务库查查情况咯。

抽取的逻辑是先找出各张表的最大时间戳,然后增量抽取<=最大时间戳的记录

--将各表最大时间戳取出
--
调整顺序以避免出现有交易记录无会员的情况
select @TradeLog_max=cast(ISNULL(max(Timestamp),0) as bigint)
from dbo.Trade_Log‘

select @User_max=cast(ISNULL(max(Timestamp),0) as bigint)
from dbo.User


其实当初已经意识到顺序问题,把交易表已经提到上面去了。

但这次的问题是:会员更改了注册信息,这就导致了dbo.Dim_User里面那条记录的时间戳变大,就没抽到分析库。

改进方法:把抽取dbo.Dim_User表的时间戳放到抽取user表的前面去,这样就不会出现上面的情况。

转载于:https://www.cnblogs.com/arnold/archive/2012/01/11/2318801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值