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

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



