事实表已经加载完了,业务部门突然说有个客户信息之前没提供,现在要补上。但事实表里已经关联了客户维度,补录客户维度后,事实表里的代理键需要更新吗?
9 个赞
这属于迟到的维度数据,比迟到事实数据更难处理。
因为事实数据已经处理完了,而维度数据还没有到,所以加载事实表时,有的维度(如客户)在维度表里并不存在,结果维度查询就会失败。
正确的处理方式是:先给"数据库查询"步骤增加一个错误处理步骤,将查询失败的数据分离出来,可以存到一个文件或数据库里。然后读取这些失败数据,通过"获取系统信息"步骤加入当天日期,用"增加常量"步骤将缺失字段设置成"N/A"等默认值,再通过"维度查询/更新"组件在维度表中创建新的维度记录。最后把被拒绝的事实数据重新查询一遍维度表,即可得到正确的代理键。
1 个赞