《面试题-ETL.docx》由会员分享,可在线阅读,更多相关《面试题-ETL.docx(6页珍藏版)》请在课桌文档上搜索。
1、在数据仓库项目中,数据探究阶段的主要目的是什么?答:在逻辑数据映射进行之前,须要首先对全部的源系统进行分析。对源系统的分析通常包括两个阶段,一个是数据探究阶段(),另一个是异样数据检测阶段。数据探究阶段包括以下内容:1 .收集全部的源系统的文档、数据字典等内容。2 .收集源系统的运用状况,如谁在用、每天多少人用、占多少存储空间等内容。3 .推断出数据的起始来源Oo4 .通过数据概况()来对源系统的数据关系进行分析。数据探究阶段的主要目的是理解源系统的状况,为后续的数据建模和逻辑数据映射打下坚实的基础。2. ?在过程中四个基本的过程分别是什么?答:数据仓库构建方法中,的过程和传统的实现方法有一些
2、不同,主要分为四个阶段,分别是抽取()、清洗()、一样性处理O和交付(),简称为。1 .抽取阶段的主要任务是:读取源系统的数据模型。连接并访问源系统的数据。改变数据捕获。抽取数据到数据打算区。2 .清洗阶段的主要任务是:清洗并增补列的属性。清洗并增补数据结构。清洗并增补数据规则。增补困难的业务规则。建立元数据库描述数据质量。将清洗后的数据保存到数据打算区。3. 一样性处理阶段的主要任务是:一样性处理业务标签,即维度表中的描述属性。一样性处理业务度量与性能指标,通常是事实表中的事实。去除重复数据。国际化处理。将一样性处理后的数据保存到数据打算区。4. 交付阶段的主要任务是:加载星型的和经过雪花处
3、理的维度表数据。产生日期维度。加载退化维度。加载子维度。加载1、2、3型的缓慢改变维度。处理迟到的维度和迟到的事实。加载多值维度。加载有困难层级结构的维度。加载文本领实到维度表。处理事实表的代理键。加载三个基本类型的事实表数据。加载和更新聚集。将处理好的数据加载到数据仓库。从这个任务列表中可以看出,的过程和数据仓库建模的过程结合的特别紧密。换句话说,系统的设计应当和目标表的设计同时起先。通常来说,数据仓库架构师和系统设计师是同一个人。3.举例说明各种过程中的元数据。答:元数据是项目组面对的一个特别重要的主题,对于整个数据仓库项目也是特别重要的一部分。对于元数据的分类和运用没有很确定的定义。通常
4、来说,我们可以把元数据分为三类,分别为业务元数据(),技术元数据()和过程处理元数据()。业务元数据,是从业务的角度对数据的描述。通常是用来给报表工具和前端用户对数据进行分析和运用供应帮助。技术元数据,是从技术的角度对数据的描述。通常包括数据的一些属性,如数据类型、长度、或者数据概况分析后一些结果。过程处理元数据,是处理过程中的一些统计数据,通常包括有多少条记录被加载,多少条记录被拒绝接受等数据4. a?假如进程运行较慢,须要分哪几步去找到系统的瓶颈问题。答:系统遇到性能问题,运行很慢是一件较常见的事情,这时要做的是逐步找到系统的瓶颈在哪里。首先要确定是由、内存、和网络等产生的瓶颈,还是由处理
5、过程产生的瓶颈。假如环境没有瓶颈,那么须要分析的代码。这时,我们可以采纳解除的方法,须要隔离不同的操作,并分别对它们进行测试。假如是采纳纯手工编码方式的处理,隔离不同的操作要麻烦一些,这时须要依据编码的实际状况来处理。假如是采纳工具的话,目前的工具应当都有隔离不同处理的功能,隔离起来相对简单一些。分析最好从抽取操作起先,然后依次分析各种计算、查找表、聚集、过滤等转换环节的处理操作,最终分析加载操作。实际的处理中,可以依据下面的七个步骤来查找瓶颈。1 .隔离并执行抽取查询语句。先将抽取部分隔离出来,去掉转换和交付,可以将数据干脆抽取到文件中。假如这一步效率很差,基本确定是抽取的问题。从阅历来看,
6、未经调优的是一个最常见的导致效率差的缘由。假如这步没有问题进入其次步。2 .去掉过滤条件。这一条是针对全抽取,然后在处理中进行过滤的处理方式而言。在处理中做过滤处理有时会产生瓶颈。可以先将过滤去掉,假如确定为这个缘由,可以考虑在抽取时进行数据过滤。3 .解除查找表的问题。参照数据在处理过程中通常会加载到内存中,目的是做代码和名称的查找替换,也称查找表。有时查找表的数据量过大也会产生瓶颈。可以逐个隔离查找表,来确定是否是这里出现问题。留意要将查找表的数据量降到最低,通常一个自然键一个代理键就可以,这样可以削减不必要的数据。4 .分析排序和聚集操作。排序和聚集操作都是特别费资源的操作。对这部分隔离
7、,来推断是否因为它们引起性能问题。假如确定是因为这个,须要考虑是否可以将排序和聚集处理移出数据库和工具,移到操作系统中来处理。5 .隔离并分析每一个计算和转换处理。有时转换过程中的处理操作也会引起工作的性能。逐步隔离移除它们来推断哪里出了问题。要留意视察像默认值、数据类型转换等操作。6 .隔离更新策略。更新操作在数据量特别大时是性能特别差的。隔离这部分,看看是否这里出了问题。假如确定是因为大批量更新出了性能问题。应当考虑将、和分开处理。7 .检测加载数据的数据库。假如前面各部分都没有问题,最终须要检测是目标数据库的性能问题。可以找个文件代替数据库,假如性能提高许多,须要细致检测目标数据库的加载过程中的操作。例如是否关闭了全部的约束,关闭了全部的索引,是否运用了批量加载工具。假如性能还没有提高,可以考虑运用并行加载策略。