本部分的
题目
来自 Kimball 的 ETL Toolkit 著作,原著未直接给出答案。这里的中文
题目
和答
案是我参考其原著按自己的理解整理而来的,仅供参考。对于其中不确切的地方,欢迎大家
一起沟通。有兴趣的朋友可以直接阅读原著。
分析
1.什么是逻辑数据映射?它对 ETL 项目组的作用是什么?
逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型
以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或
Excel 的格式保存信息.
逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中的 ETL 策略。
在进行物理数据映射前进行逻辑数据映射对 ETL 项目组是重要的,它起着元数据的作用。项
目中最好选择能生成逻辑数据映射的数据迁移工具。
2.在数据仓库项目中,数据探索阶段的主要目的是什么?
逻辑数据映射进行之前,需要首先对所有的源系统进行分析。对源系统的分析 通常包
括两个阶段,一个是数据探索阶段(Data Discovery Phase),另一个是 异常数据检测阶段。
数据探索阶段包括以下内容: 1.收集所有的源系统的文档、数据字典等内容。 2.收集
源系统的使用情况,如谁在用、每天多少人用、占多少存储空间等内容。 3.判断出数据
的起始来源(System-of-Record)。 4.通过数据概况(Data Profiling)来对源系统的数据关
系进行分析。 数据探索阶段的主要目的是理解源系统的情况, 为后续的数据建模和逻辑
数据映 射打下坚实的基础。
3.如何确定起始来源数据?
答:这个问题的关键是理解什么是 System-of-Record。System-of-Record 和数据仓
库领域内的其他很多概念一样,不同的人对它有不同的定义。在 Kimball 的体系中,
System-of-Record 是指最初产生数据的地方,即数据的起始来源。在较大的企业内,数据会
被冗余的保存在不同的地方,在数据的迁移过程中,会出现修改、清洗等操作,导致与数
据的起始来源产生不同。起始来源数据对数据仓库的建立有着非常重要的作用,尤其是对
产生一致性维度来说。我们从起始来源数据的越下游开始建立数据仓库,我们遇到垃圾数
据的风险就会越大。
架构
4.在 ETL 过程中四个基本的过程分别是什么?
答: Kimball 数据仓库构建方法中,ETL 的过程和传统的实现方法有一些
不同,主要 分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处
理(comfo rm)和交付(delivery),简称为 ECCD。 1.抽取阶段的主要任务
是: 读取源系统的数据模型。 连接并访问源系统的数据。 变化数据捕获。
抽取数据到数据准备区。2.清洗阶段的主要任务是:清洗并增补列的属性。
清洗并增补数据结构。 清洗并增补数据规则。 增补复杂的业务规则。 建立
元数据库描述数据质量。 将清洗后的数据保存到数据准备区。 3.一致性处
理阶段的主要任务是: 一致性处理业务标签,即维度表中的描述属性。 一
致性处理业务度量及性能指标,通常是事实表中的事实。 去除重复数据。 国