抽取时出现有交易记录而无会员的情况处理
今天的多维数据集又挂了,原因是在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表的前面去,这样就不会出现上面的情况。