ETL 系统设计与开发:历史数据加载及增量处理全解析
1. 历史数据准备与维度填充
在进行数据仓库的历史数据加载前,需要对数据进行全面的重构。完成重构后,要对数据进行最后一次遍历,设置行结束日期列,确保数据系列中没有间隙。若行日期粒度为一整天,旧版本维度成员的行结束日期应设为新行的行生效日期的前一天;若生效日期和结束日期是精确到分钟或秒的时间戳,则结束日期/时间必须精确设置为下一行的开始日期/时间。
每个数据仓库数据库都应具备日期维度,通常以每天一行的粒度来记录。日期维度应涵盖数据的历史范围,从数据仓库中最古老的事实交易开始。由于已知要加载的历史事实数据的日期范围,所以为历史数据设置日期维度相对容易。大多数项目会手动创建日期维度,通常在电子表格中完成。
除了日期维度,还会以类似方式创建其他一些维度。例如,可以创建一个预算场景维度,包含“实际”和“预算”两个值。所有构建的维度表都需要业务数据治理代表签字确认。
2. 历史事实表加载
历史事实表的一次性加载与持续的增量处理有很大不同。历史加载过程中,最大的担忧是数据量巨大,有时是每日增量加载的数千倍。不过,由于是加载到非生产表中,即使加载历史数据需要几天时间,通常也是可以接受的。
2.1 历史事实表提取
在识别符合提取基本参数的记录时,要确保这些记录对数据仓库有用。许多事务系统在源系统中保留的操作信息,从业务角度来看可能并无价值。在这个步骤中,积累审计统计信息也是个不错的做法。在提取过程中创建结果集时,通常可以捕获各种小计、总计和行数。
2.2 审计统计
在 ETL 系统的规划阶段,需要确定各种数据质量度
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



