在数据仓库项目中,数据探索阶段的主要目的是什么? 答:
在逻辑数据映射进行之前,需要首先对所有的源系统进行分析。对源系统的分析通常包括两个阶段,一个是数据探索阶段(Data Discovery Phase),另一个是异常数据检测阶段。 数据探索阶段包括以下内容:
1.收集所有的源系统的文档、数据字典等内容。
2.收集源系统的使用情况,如谁在用、每天多少人用、占多少存储空间等内容。 3.判断出数据的起始来源(System-of-Record)。
4.通过数据概况(Data Profiling)来对源系统的数据关系进行分析。 数据探索阶段的主要目的是理解源系统的情况,为后续的数据建模和逻辑数据映射打下坚实的基础。
2. 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型的缓慢变化维度。 处理迟到的维度和迟到的事实。 加载多值维度。
加载有复杂层级结构的维度。
加载文本事实到维度表。 处理事实表的代理键。
加载三个基本类型的事实表数据。 加载和更新聚集。
将处理好的数据加载到数据仓库。
从这个任务列表中可以看出,ETL的过程和数据仓库建模的过程结合的非常紧密。换句话说,ETL系统的设计应该和目标表的设计同时开始。通常来说,数据仓库架构师和ETL系统设计师是同一个人。
3. Describe the different types of ETL metadata and provide examples of each.
举例说明各种ETL过程中的元数据。
答:元数据是ETL项目组面对的一个非常重要的主题,对于整个数据仓库项目也是非常重要的一部分。对于元数据的分类和使用没有很确定的定义。 通常来说,我们可以把元数据分为三类,分别为业务元数据(Business Metadata),技术元数据(Technical Metadata)和过程处理元数据(Process Execution Metadata)。
业务元数据,是从业务的角度对数据的描述。通常是用来给报表工具和前端用户对数据进行分析和使用提供帮助。
技术元数据,是从技术的角度对数据的描述。通常包括数据的一些属性,如数据类型、长度、或者数据概况分析后一些结果。
过程处理元数据,是ETL处理过程中的一些统计数据,通常包括有多少条记录被加载,多少条记录被拒绝接受等数据
4. What steps do you take to determine the bottleneck of a slow running ETL process?
如果ETL进程运行较慢,需要分哪几步去找到ETL系统的瓶颈问题。
答:ETL系统遇到性能问题,运行很慢是一件较常见的事情,这时要做的是逐步找到系统的瓶颈在哪里。
首先要确定是由CPU、内存、I/O和网络等产生的瓶颈,还是由ETL处理过程产生的瓶颈。
如果环境没有瓶颈,那么需要分析ETL的代码。这时,我们可以采用排除的方法,需要隔离不同的操作,并分别对它们进行测试。如果是采用纯手工编码方式的ETL处理,隔离不同的操作要麻烦一些,这时需要根据编码的实际情况来处理。如果是采用ETL工具的话,目前的ETL工具应该都有隔离不同处理的功能,隔离起来相对容易一些。
因篇幅问题不能全部显示,请点此查看更多更全内容