ETL架构师面试题 下载本文

内容发布更新时间 : 2024/12/24 21:03:41星期一 下面是文章的全部内容请认真阅读。

1. What is a logical data mapping and what does it mean to the ETL team?

什么是逻辑数据映射?它对ETL项目组的作用是什么? 答:

逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或Excel的格式保存如下的信息: 目标表名: 目标列名:

目标表类型:注明是事实表、维度表或支架维度表。 SCD类型:对于维度表而言。

源数据库名:源数据库的实例名,或者连接字符串。 源表名: 源列名:

转换方法:需要对源数据做的操作,如Sum(amount)等。

逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中的ETL策略。在进行物理数据映射前进行逻辑数据映射对ETL项目组是重要的,它起着元数据的作用。项目中最好选择能生成逻辑数据映射的数据迁移工具。

2. What are the primary goals of the data discovery phase of the data warehouse project?

在数据仓库项目中,数据探索阶段的主要目的是什么? 答:

在逻辑数据映射进行之前,需要首先对所有的源系统进行分析。对源系统的分析通常包括两个阶段,一个是数据探索阶段(Data Discovery Phase),另一个是异常数据检测阶段。 数据探索阶段包括以下内容:

1.收集所有的源系统的文档、数据字典等内容。

2.收集源系统的使用情况,如谁在用、每天多少人用、占多少存储空间等内容。 3.判断出数据的起始来源(System-of-Record)。

4.通过数据概况(Data Profiling)来对源系统的数据关系进行分析。

数据探索阶段的主要目的是理解源系统的情况,为后续的数据建模和逻辑数据映射打下坚实的基础。

3. How is the system-of-record determined?

如何确定起始来源数据? 答:

这个问题的关键是理解什么是System-of-Record。System-of-Record和数据仓库领域内的其他很多概念一样,不同的人对它有不同的定义。在Kimball的体系中,System-of-Record是指最初产生数据的地方,即数据的起始来源。在较大的企业内,数据会被冗余的保存在不同的地方,在数据的迁移过程中,会出现修改、清洗等操作,导致与数据的起始来源产生不同。

起始来源数据对数据仓库的建立有着非常重要的作用,尤其是对产生一致性维度来说。我们从起始来源数据的越下游开始建立数据仓库,我们遇到垃圾数据的风险就会越大。

Architecture

4. What are the four basic Data Flow steps of an ETL process?

在ETL过程中四个基本的过程分别是什么? 答:

Kimball数据仓库构建方法中,ETL的过程和传统的实现方法有一些不同,主要分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处理(comform)和交付(delivery),简称为ECCD。

1.抽取阶段的主要任务是: 读取源系统的数据模型。 连接并访问源系统的数据。 变化数据捕获。 抽取数据到数据准备区。 2.清洗阶段的主要任务是: 清洗并增补列的属性。 清洗并增补数据结构。 清洗并增补数据规则。 增补复杂的业务规则。 建立元数据库描述数据质量。 将清洗后的数据保存到数据准备区。 3.一致性处理阶段的主要任务是:

一致性处理业务标签,即维度表中的描述属性。 一致性处理业务度量及性能指标,通常是事实表中的事实。 去除重复数据。 国际化处理。

将一致性处理后的数据保存到数据准备区。 4.交付阶段的主要任务是:

加载星型的和经过雪花处理的维度表数据。 产生日期维度。 加载退化维度。 加载子维度。

加载1、2、3型的缓慢变化维度。