最近犯了个错误,对ChangeLog印象深刻,总结如下:
1、ODS生成的数据源(8开头的那种),其PSA就是ODS的ChangeLog table,所以不需要建信息包也会自动加载。
2、如果删除这个数据源里的请求,ODS中,那条请求的ChangeLog就会随之删除
下面就再总结下删除了ChangeLog的后果。
1、ODS的这条请求再也删不掉了,因为删除请求是依据ChangeLog Table的。
2、ODS的这条请求再也Delta不到上层的Cube了,因为Delta加载参照的也是ChangeLog Table。
3、这条ODS的请求中的数据,即使Full到ODS里,也没办法再Delta加载到上层的Cube了,因为数据依然在A表里,新请求的ChangeLog是依据A表生成的。
结论就是,删除ChangeLog的操作前提是,所有的数据都已经向上Delta更新过了,否则就只好用Full了。
如果你真的不小心删了,解决办法:
选择性删除Cube数据,然后Full加载。