ETL架构师常问问题

上传人:宝路 文档编号:4346420 上传时间:2017-08-18 格式:DOC 页数:13 大小:61KB
返回 下载 相关 举报
ETL架构师常问问题_第1页
第1页 / 共13页
ETL架构师常问问题_第2页
第2页 / 共13页
ETL架构师常问问题_第3页
第3页 / 共13页
ETL架构师常问问题_第4页
第4页 / 共13页
ETL架构师常问问题_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《ETL架构师常问问题》由会员分享,可在线阅读,更多相关《ETL架构师常问问题(13页珍藏版)》请在金锄头文库上搜索。

1、Analysis1. What is a logical data mapping and what does it mean to the ETL team?什么是逻辑数据映射?它对 ETL 项目组的作用是什么?答:逻辑数据映射(Logical Data Map)用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或 Excel 的格式保存如下的信息:目标表名:目标列名:目标表类型:注明是事实表、维度表或支架维度表。SCD 类型:对于维度表而言。源数据库名:源数据库的实例名,或者连接字符串。源表名:源列名:转换方法:需要对源

2、数据做的操作,如 Sum(amount)等。逻辑数据映射应该贯穿数据迁移项目的始终,在其中说明了数据迁移中的 ETL 策略。在进行物理数据映射前进行逻辑数据映射对 ETL 项目组是重要的,它起着元数据的作用。项目中最好选择能生成逻辑数据映射的数据迁移工具。2. What are the primary goals of the data discovery phase of the data warehouse project?在数据仓库项目中,数据探索阶段的主要目的是什么?答:在逻辑数据映射进行之前,需要首先对所有的源系统进行分析。对源系统的分析通常包括两个阶段,一个是数据探索阶段(Data

3、 Discovery Phase),另一个是异常数据检测阶段。数据探索阶段包括以下内容:1收集所有的源系统的文档、数据字典等内容。2收集源系统的使用情况,如谁在用、每天多少人用、占多少存储空间等内容。3判断出数据的起始来源(System-of-Record)。4通过数据概况(Data Profiling)来对源系统的数据关系进行分析。数据探索阶段的主要目的是理解源系统的情况,为后续的数据建模和逻辑数据映射打下坚实的基础。3. How is the system-of-record determined?如何确定起始来源数据?答:这个问题的关键是理解什么是 System-of-Record。Sy

4、stem-of-Record 和数据仓库领域内的其他很多概念一样,不同的人对它有不同的定义。在 Kimball 的体系中,System-of-Record 是指最初产生数据的地方,即数据的起始来源。在较大的企业内,数据会被冗余的保存在不同的地方,在数据的迁移过程中,会出现修改、清洗等操作,导致与数据的起始来源产生不同。起始来源数据对数据仓库的建立有着非常重要的作用,尤其是对产生一致性维度来说。我们从起始来源数据的越下游开始建立数据仓库,我们遇到垃圾数据的风险就会越大。Architecture4. What are the four basic Data Flow steps of an ETL

5、 process?在 ETL 过程中四个基本的过程分别是什么?答:Kimball 数据仓库构建方法中,ETL 的过程和传统的实现方法有一些不同,主要分为四个阶段,分别是抽取(extract)、清洗(clean)、一致性处理(comform)和交付(delivery),简称为 ECCD。1抽取阶段的主要任务是:读取源系统的数据模型。连接并访问源系统的数据。变化数据捕获。抽取数据到数据准备区。2清洗阶段的主要任务是:清洗并增补列的属性。清洗并增补数据结构。清洗并增补数据规则。增补复杂的业务规则。建立元数据库描述数据质量。将清洗后的数据保存到数据准备区。3一致性处理阶段的主要任务是:一致性处理业务标

6、签,即维度表中的描述属性。一致性处理业务度量及性能指标,通常是事实表中的事实。去除重复数据。国际化处理。将一致性处理后的数据保存到数据准备区。4交付阶段的主要任务是:加载星型的和经过雪花处理的维度表数据。产生日期维度。加载退化维度。加载子维度。加载 1、2、3 型的缓慢变化维度。处理迟到的维度和迟到的事实。加载多值维度。加载有复杂层级结构的维度。加载文本事实到维度表。处理事实表的代理键。加载三个基本类型的事实表数据。加载和更新聚集。将处理好的数据加载到数据仓库。从这个任务列表中可以看出,ETL 的过程和数据仓库建模的过程结合的非常紧密。换句话说,ETL 系统的设计应该和目标表的设计同时开始。通

7、常来说,数据仓库架构师和 ETL 系统设计师是同一个人。5. What are the permissible data structures for the data staging area? Briefly describe the pros and cons of each.在数据准备区中允许使用的数据结构有哪些?各有什么优缺点?答:1固定格式的文本文件。(Flat File)Flat File 指的是一种保存在系统上的一种文本文件格式,它以类似数据库的表的方式用行和列来保存数据。这种文件格式经常用来进行数据交换。用于保存数据不太合适。2XML 数据集。多用于数据交换,用户保存数据不太

8、合适。3关系数据库的表。保存数据的较理想选择。4独立的数据库表。独立的数据库表一般指建立的表和其他表没有外键约束关系。这样的表多用于数据处理。5三范式或者关系型模型。6非关系型数据源。非关系型数据源一般包括 COBOL copy books、VSAM 文件、Flat 文件、Spreadsheets 等。7维度模型。8原子事实表和聚集事实表。9代理键查找表。6. When should data be set to disk for safekeeping during the ETL?简述 ETL 过程中哪个步骤应该出于安全的考虑将数据写到磁盘上?答:Staging 的意思就是将数据写到磁盘上

9、。出于安全及 ETL 能方便重新开始,在数据准备区(Staging Area)中的每个步骤中都应该将数据写到磁盘上,即生成文本文件或者将建立关系表保存数据,而不应该以数据不落地方式直接进行 ETL。例如,在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取的数据保存成文本文件或者放入数据准备区的表中,这样,当 ETL 过程出现错误而失败时,我们就可以从这些文本文件开始 ETL,而不需要再次影响源系统。Extract7. Describe techniques for extracting from heterogeneous data sources.简述异构数据源中

10、的数据抽取技术。答:在数据仓库项目中,需要抽取的数据经常来自不同的数据源,它们的逻辑结构和物理结构都可能不同,即称之为异构数据源。在对异构数据源进行整合抽取时,我们需要做的事情依次是标识出所有的源系统,对源系统进行概况分析,定义数据匹配逻辑,建立筛选规则,生成一致性维度。对于源数据的操作系统平台和数据平台各不相同的情况,我们需要根据实际情况来确定如何进行数据抽取,通常的方法有建立 ODBC 连接、定义接口文件、建立 DBLINK 等方法。8. What is the best approach for handling ERP source data?从 ERP 源系统中抽取数据最好的方法是什

11、么?答:ERP 系统的产生是为了解决企业内异构数据的整合。这个问题也是数据仓库系统面临的主要问题。ERP 的解决方案是将企业内的各个应用(包括销售、会计、人力资源、库存和产品等)建立在相同的平台和相同的应用框架下,即在应用操作层将企业内的数据进行了一致性处理。而数据仓库是在应用操作层之上建立一致性的规则并进行一致性处理。目前比较流行的 ERP 系统有 SAP、PeopleSoft、Oracle、Baan 和 J.D.EDwards(大部分没接触过)。如果企业内只有一套 ERP 系统,那么数据就已经是一致的了,为数据抽取提供了方便。如果企业内除了 ERP 外还有其他系统,则数据抽取会变得复杂。因

12、为目前的 ERP 系统的数据模型都非常复杂,可能有几百几千个表,并且较难理解。直接在 ERP 系统上建立数据捕获和抽取是非常复杂的。最好的办法是购买能针对 ERP 系统数据抽取提供功能的 ETL 工具,将 ERP 内部的复杂性留给 ETL 厂商处理。9. Explain the pros and cons of communicating with databases natively versus ODBC.简述直接连接数据库和使用 ODBC 连接数据库进行通讯的优缺点。答:通常连接数据库的方式分为两类,一类是直接连接,另一类是通过 ODBC 连接。直接连接的方式主要是通过 COBOL、PL

13、/SQL、Transact-SQL 等方式连接数据库。这种方式的优点是运行性能高,可以使用 DBMS 提供的一些特殊功能。缺点是通用性差。ODBC 是为 windows 应用程序访问数据库提供的一组接口。ODBC 的优点是灵活性,通过改变驱动和连接方式可以使用不同的数据库。ODBC 方式的缺点是性能差。使用 ODBC 连接方式实现 ETL 的话,在 ETL 程序和至少要有两层,分别是 ODBC Manager 层和 ODBC Driver 层。另外,使用 ODBC 方式不能使用 DBMS 提供的一些特殊的功能。10. Describe three change data capture (CD

14、C) practices and the pros and cons of each.简述出三种变化数据捕获技术及其优缺点。答:变化数据捕获(CDC)技术是 ETL 工作中的重点和难点,通常需要在增量抽取时完成。实现变化数据捕获时最理想的是找到源系统的 DBA。如果不能找到,就需要 ETL 项目组自己进行检测数据的变化。下面是一些常用的技术。1采用审计列审计列指表中如“添加日期”、“修改日期”、“修改人”等信息的字段。应用程序在对该表的数据进行操作时,同时更新这些字段,或者建立触发器来更新这些字段。采用这种方式进行变化数据捕获的优点是方便,容易实现。缺点是如果操作型系统没有相应的审计字段,需要

15、改变已有的操作型系统的数据结构,以保证获取过程涉及的每张表都有审计字段。2数据库日志DBMS 日志获取是一种通过 DBMS 提供的日志系统来获得变化的数据。它的优点是对数据库或访问数据库的操作系统的影响最小。缺点是要求 DBMS 支持,并且对日志记录的格式非常了解。3全表扫描全表扫描或者全表导出文件后进行扫描对比也可以进行变化数据捕获,尤其是捕获删除的数据时。这种方法的优点是,思路清晰,适应面广,缺点是效率比较差。Data Quality11. What are the four broad categories of data quality checks? Provide an imple

16、mentationtechnique for each.数据质量检查的四大类是什么?为每类提供一种实现技术。答:数据质量检查是 ETL 工作中非常重要的一步,主要关注一下四个方面。1正确性检查(Corret)检查数据值及其描述是否真实的反映了客观事务。例如地址的描述是否完全。2明确性检查(Unambiguous)检查数据值及其描述是否只有一个意思或者只有一个解释。例如地名相同的两个县需要加区分方法。3一致性检查(Consistent)检查数据值及其描述是否统一的采用固定的约定符号来表示。例如币别中人民币用CNY。4完全性检查(Complete)完全性有两个需要检查的地方,一个是检查字段的数据值及其描述是否完全。例如检查是否有空值。另一个是检查记录的合计值是否完全,有没有遗忘某些条件。12. At which stage of the ETL should data be profiled?简述应该在 ETL 的哪个步骤来实现概况分析?答:数据概况分析是对源数据内容的概况进行分析,应该在项目的开始

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号