ETL 面试资料

合集下载

ETL工程师面试题

ETL工程师面试题

ETL工程师面试题一、ORACLE部分1.表:table1(FId,Fcla,Fcore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。

2.有员工表empinfo(Fempnovarchar2(10)notnullpk,Fempnamevarchar2(20)notnull,Fagenumbernotnull,Falarynumbernotnull);假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人:falary>9999andfage>35falary>9999andfage<35falary<9999andfage>35falary<9999andfage<35每种员工的数量;3.aa,bb表都有20个字段,且记录数量都很大,aa,bb表的某字段(非空)上有索引,请用SQL列出aa表里面存在的某在bb表不存在的某的值,请写出认为最快的语句。

什么是分区表?简述范围分区和列表分区的区别,分区表的主要优势有哪些?有个表a(某number(20)),向该表插入从1开始的连续的1000万记录逻辑题假设有一个池塘,里面有无穷多的水。

现有2个空水壶,容积分别为5升和6升。

问题是如何只用这2个水壶从池塘里取得3升的水。

五个大小相同的一元人民币硬币。

要求两两相接触,应该怎么摆?一花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一。

问他赚了多少4.1,11,21,1211,111221,下一个数是什么?。

etl 面试题

etl 面试题

etl 面试题ETL(Extract, Transform, Load)是一种数据集成和数据处理的技术,广泛应用于数据仓库和商业智能。

在面试中,ETL面试题通常涉及ETL工具、ETL流程、数据清洗和转换等方面的知识。

本文将回答一系列ETL面试题,帮助读者更好地理解和掌握ETL相关的知识。

一、ETL是什么?它的作用是什么?ETL是一种数据集成和数据处理的技术,包括数据提取(Extract)、数据转换(Transform)和数据加载(Load)三个步骤。

其作用是从不同的数据源提取数据,经过转换和清洗后加载到目标系统中,以支持数据分析和决策。

二、请简要介绍一下你熟悉的ETL工具。

在ETL工具方面,市场上有多种选择,如Informatica PowerCenter、IBM DataStage、Microsoft SQL Server Integration Services(SSIS)等。

以下以Informatica PowerCenter为例进行介绍:Informatica PowerCenter是一款功能强大的ETL工具,可以在不同的平台上运行。

它提供了强大的数据提取、转换和加载功能,以及丰富的连接器和预定义的转换功能,能够满足各种ETL需求。

三、请简述一下ETL的工作流程。

ETL的工作流程通常包括以下步骤:1. 数据提取(Extract):从源系统中提取数据,可以是关系型数据库、文件、Web服务等。

2. 数据清洗(Cleanse):对提取的数据进行清洗和筛选,去除重复项、空值以及不合规的数据。

3. 数据转换(Transform):对清洗后的数据进行转换,包括数据格式转换、数据合并、数据分割、计算字段等。

4. 数据加载(Load):将转换后的数据加载到目标系统中,可以是数据仓库、数据集市或即席查询工具等。

5. 数据校验(Verify):对加载后的数据进行校验,确保数据的准确性和完整性。

四、请说明一下ETL中的维度表和事实表。

大数据专员面试题目(3篇)

大数据专员面试题目(3篇)

第1篇一、基础知识与概念理解1. 题目:请简述大数据的基本概念及其与普通数据的主要区别。

解析:考察应聘者对大数据基本概念的理解。

应聘者应能够解释大数据的规模(大量、多样、快速)、价值密度低、处理和分析的技术和方法等特点,并说明大数据与普通数据在数据量、处理方式、分析目标等方面的区别。

2. 题目:大数据的五个V指的是什么?解析:考察应聘者对大数据特征的理解。

大数据的五个V分别是Volume(数据量)、Velocity(数据速度)、Variety(数据多样性)、Veracity(数据真实性)和Value(数据价值)。

应聘者应能够解释每个V的具体含义。

3. 题目:请简述Hadoop生态系统中的主要组件及其功能。

解析:考察应聘者对Hadoop生态系统的了解。

应聘者应能够列举Hadoop生态系统中的主要组件,如Hadoop分布式文件系统(HDFS)、Hadoop YARN、Hadoop MapReduce、Hive、Pig、HBase等,并解释每个组件的基本功能和作用。

4. 题目:请简述数据仓库和数据湖的区别。

解析:考察应聘者对数据仓库和数据湖的理解。

应聘者应能够解释数据仓库和数据湖在数据存储、处理、查询等方面的差异,以及它们在数据分析中的应用场景。

二、数据处理与分析5. 题目:请简述ETL(提取、转换、加载)过程在数据处理中的作用。

解析:考察应聘者对ETL过程的了解。

应聘者应能够解释ETL在数据预处理、数据清洗、数据转换等方面的作用,以及ETL工具在数据处理中的应用。

6. 题目:请描述数据切分、增量同步和全量同步的方法。

解析:考察应聘者对数据同步的理解。

应聘者应能够解释数据切分、增量同步和全量同步的概念,并举例说明在实际应用中的具体操作方法。

7. 题目:请简述数据挖掘中的分类、聚类和预测方法。

解析:考察应聘者对数据挖掘方法的了解。

应聘者应能够列举数据挖掘中的分类、聚类和预测方法,如决策树、K-means、支持向量机、神经网络等,并解释每种方法的基本原理和应用场景。

etl工程师面试题

etl工程师面试题

etl工程师面试题
一、简介
ETL(Extract-Transform-Load)工程师是负责从多个数据源中抽取、转换和加载数据到数据仓库或目标系统的专业人士。

他们不仅需要具
备数据仓库和业务知识,还需要掌握各种ETL工具和数据处理技术。

本文将介绍一些常见的ETL工程师面试题,帮助读者了解该职位要求
和相关技能。

二、面试题目
1. 请介绍一下ETL的工作流程。

2. 请列举一些常见的ETL工具,并简要说明它们的特点和用途。

3. 在ETL过程中,数据抽取阶段可能会遇到哪些常见问题,以及如何解决?
4. 数据转换是ETL过程中的重要环节,请分享一些常用的数据转换技术和方法。

5. 数据加载阶段会面临哪些挑战,你有什么经验来应对这些挑战?
6. 请介绍一下维度建模和事实表的概念,以及在数据仓库中的应用。

7. 当需要处理大规模数据时,你如何保证ETL的性能和效率?
8. 在ETL过程中,如何处理数据质量问题?请分享一些解决方案。

9. 请描述一下你在以往的项目中遇到的最具挑战性的数据处理任务,并说明你是如何解决的。

10. 请简要解释一下OLAP和OLTP的概念,并说明它们之间的区
别和联系。

三、结语
以上是ETL工程师面试中常见的一些问题,涵盖了ETL的基本概念、工具、技术和应用场景。

希望读者可以通过了解这些问题,并在
实际工作中不断学习和实践,成为一名优秀的ETL工程师。

请注意:本文提供的只是参考答案,实际面试中可能会有其他问题。

因此,建议读者在备战面试时进行广泛的学习和准备,以应对各种可
能的问题。

祝您面试成功!。

面试ETL题总汇

面试ETL题总汇

ETL面试题总汇一、分析1.什么是逻辑数据映射?它对ETL工程组的作用是什么?What is a logical data mapping and what does it mean to the ETL team?答:逻辑数据映射〔Logical Data Map〕用来描述源系统的数据定义、目标数据仓库的模型以及将源系统的数据转换到数据仓库中需要做操作和处理方式的说明文档,通常以表格或者Excel 的格式保存如下的信息:目标表名:目标列名:目标表类型:注明是事实表、维度表或者支架维度表。

SCD类型:对于维度表而言。

三种SCD〔Slowly Changing Dimension〕技术SCD1直接修改原维表信息,不保存任何维历史信息。

SCD2创立新的记录而不删除或者修改原有维信息。

可通过为每条记录设定过期时间、生效时间两个字段来区分各历史记录和当前记录〔历史记录的过期时间均早于当前记录的生效时间〕。

SCD3在维表中定义历史信息字段,只保存有限的历史信息〔此技术很少应用〕源数据库名:源数据库的实例名,或者连接字符串。

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

逻辑数据映射应该贯通数据迁移工程的始终,在其中说明了数据迁移中的ETL策略。

在进行物理数据映射前进行逻辑数据映射对ETL工程组是重要的,它起着元数据的作用。

工程中最好选择能生成逻辑数据映射的数据迁移工具。

-----------------------------补充:逻辑数据映射分为两种:1: 模型映射:从源模型到DW目标模型之间的映射类型有:一对一:一个源模型的数据实体只对应一个目标模型的数据实体。

如果源类型与目标类型一致,那末直接映射。

如果两者间类型不一样,那末必须经过转换映射。

一对多:一个源模型的数据实体只对应多个目标模型的数据实体。

在同一个数据存储空间,往往浮现会一个源实体拆分为多个目标实体的情况下。

在不同的存储空间中,结果会对应到不同的存储空间的实体。

etl面试题及答案

etl面试题及答案

etl面试题及答案ETL(Extract, Transform, Load)是数据仓库中常用的一种数据处理过程,它包括从源系统中提取数据、转换数据以满足目标系统的需求,并将数据加载到目标系统中。

在面试中,了解ETL的相关知识对于应聘数据工程师或数据分析师等职位至关重要。

以下是一些常见的ETL面试题及答案:1. 什么是ETL?ETL是数据集成过程中的三个主要步骤的缩写,即提取(Extract)、转换(Transform)和加载(Load)。

它通常用于将数据从源系统迁移到目标系统,如数据仓库。

在这个过程中,数据不仅被移动,还可能被清洗、整合和转换为适合分析的格式。

2. ETL和ELT有什么区别?ELT(Extract, Load, Transform)是ETL的变体,主要区别在于数据的转换步骤发生在数据被加载到目标系统之后。

这种方法通常在目标系统(如数据仓库)具有更强大的处理能力时使用,可以更灵活地处理数据。

3. 在ETL过程中,数据源通常有哪些类型?数据源可以是关系型数据库、非关系型数据库、文件系统(如CSV、XML文件)、云存储服务、Web API等。

数据工程师需要能够处理各种数据源,并能够从这些源中提取数据。

4. 解释一下数据清洗在ETL中的重要性。

数据清洗是ETL过程中的一个关键步骤,它涉及识别和纠正数据中的错误和不一致性,如重复记录、格式错误、不完整的数据等。

数据清洗确保了数据的质量和准确性,这对于后续的数据分析和决策至关重要。

5. ETL过程中的转换操作通常包括哪些内容?转换操作可能包括数据类型转换、数据格式标准化、数据聚合、数据关联、数据去重、数据加密等。

这些操作的目的是将原始数据转换为适合分析和报告的格式。

6. 在ETL中,如何处理大数据量?处理大数据量时,通常需要使用分布式处理系统,如Apache Hadoop或Spark,这些系统能够并行处理大量数据。

此外,使用增量加载而不是全量加载可以减少数据传输和处理的时间。

etl工程师面试题

etl工程师面试题ETL(Extract, Transform, Load)工程师面试题一、简介ETL(Extract, Transform, Load)是一种数据集成的过程,用于从多个数据源抽取数据、在中间层进行转换处理,然后加载到目标系统中。

ETL工程师负责设计、开发和维护ETL流程,确保数据的准确性、一致性和可靠性。

本文将介绍一些常见的ETL工程师面试题。

二、ETL工程师面试题1. 请解释一下ETL的概念和流程。

2. 数据抽取的常见方法有哪些?请描述它们的特点和适用场景。

3. 数据转换的常见操作有哪些?请举例说明。

4. 在ETL过程中,如何处理数据质量问题?5. 请介绍一下ETL工程师应该具备的技能和知识。

6. 你在以往的项目中遇到过哪些ETL相关的挑战?如何解决的?7. 请解释一下维度建模和事实表的概念。

8. 在ETL流程中,如何处理增量抽取和全量抽取的区别?9. 请介绍一下ETL工程师在性能优化方面的工作。

10. 在ETL开发中,你是如何保证数据的安全性和机密性的?三、ETL工程师面试题解答1. ETL的概念和流程ETL(Extract, Transform, Load)是一种数据集成的过程。

首先,从多个数据源中抽取数据,可以是关系型数据库、文件、Web服务等;然后,对抽取的数据进行清洗、转换、整合等处理,以满足目标系统的需求;最后,将经过处理的数据加载到目标系统中,如数据仓库、数据集市等。

2. 数据抽取的常见方法- 增量抽取:仅抽取最新变动的数据,减少重复抽取的数据量。

适用于数据量较大、抽取频率较高的情况。

- 全量抽取:每次都抽取全部数据,确保数据的完整性。

适用于数据量较小、抽取频率较低的情况。

- 增量抽取+回滚:先执行增量抽取,再进行回滚处理。

适用于增量抽取失败时需要保证数据的一致性。

3. 数据转换的常见操作- 字段映射:将源系统的字段映射到目标系统的字段,可以进行字段重命名、数据类型转换等。

etl开发面试题及答案

etl开发面试题及答案
1、对于与存放DW的数据库系统相同的数据源处理方法
这一类数据源在设计上比较容易。

一般情况下,DBMS(SQLServer、Oracle)都会提供数据库链接功能,在DW数据库服务器和原业务系统之间建立直接的链接关系就可以写Select语句直接访问。

2、对于与DW数据库系统不同的数据源的处理方法
对于这一类数据源,一般情况下也可以通过ODBC的方式建立数据库链接——如SQLServer和Oracle之间。

如果不能建立数据库链接,可以有两种方式完成,一种是通过工具将源数据导出成。

txt或者是。

xls文件,然后再将这些源系统文件导入到ODS中。

另外一种方法是通过程序接口来完成。

3、增量更新的问题
对于数据量大的系统,必须考虑增量抽取。

一般情况下,业务系统会记录业务发生的时间,我们可以用来做增量的标志,每次抽取之前首先判断ODS中记录最大的时间,然后根据这个时间去业务系统取大于这个时间所有的记录。

利用业务系统的时间戳,一般情况下,业务系统没有或者部分有时间戳。

etl面试题

etl面试题ETL(Extract, Transform, Load)是数据仓库中的一种重要组成部分,负责将数据从源系统中提取出来,经过转换和处理后加载到目标系统中。

在ETL过程中,需要考虑到数据的准确性、完整性和一致性。

以下是一些常见的ETL面试题及其答案,供参考。

1. 介绍一下ETL的基本流程。

ETL的基本流程包括数据提取(Extract)、数据转换(Transform)和数据加载(Load)三个步骤。

首先,从源系统中提取数据,可以是数据库、文件等;然后,对提取的数据进行清洗、整合、转换等操作,以满足目标系统的要求;最后,将经过转换处理后的数据加载到目标系统中。

2. 请列举一些常见的ETL工具。

常见的ETL工具包括Informatica PowerCenter、IBM DataStage、Microsoft SQL Server Integration Services(SSIS)、Oracle Data Integrator(ODI)等。

3. 什么是增量抽取?请详细描述增量抽取的实现方式。

增量抽取是指每次从源系统中抽取数据时,只抽取发生了更改的数据,而不是全量抽取所有数据。

实现增量抽取的方式可以是使用时间戳字段、使用增量标志字段或者使用日志文件记录增量数据等。

4. 在ETL过程中,如何处理数据的错误和异常?在ETL过程中,可以使用异常处理机制来处理数据的错误和异常情况。

可以设置错误处理策略,例如跳过错误记录、记录错误信息到日志文件、发送警报等。

还可以通过数据校验、数据清洗等方式来尽量避免错误和异常情况的发生。

5. 请解释一下星型模式和雪花模式在数据仓库中的应用。

星型模式和雪花模式都是数据仓库中的常用数据建模方法。

星型模式是以一个中心事实表为核心,周围围绕着多个维度表,维度表与事实表之间通过外键关联。

而雪花模式在星型模式的基础上,将维度表进一步细化为多个层级,通过子维度表与父维度表建立关系。

大数据etl工程师面试题

大数据etl工程师面试题1、磁盘RAID级别有几种,分别是哪几种?你了解或者使用过哪几种,请写出它们的大概描述和区别。

(10分)RAID级别存有以下几种:NRAID,JBOD,RAID0,RAID1,RAID0+1,RAID3,RAID5等。

目前经常采用的就是RAID0,RAID1,RAID3,RAID5和RAID(0+1)。

它们的区别大致如下:RAID 0 存取速度最快但没纠错RAID 1 完全容错但成本比较高,磁盘利用率为50%RAID 3 载入性能最出色但没多任务功能RAID 5 具备多任务及容错功能写入时有overheadRAID 0+1 速度快、全然纠错但成本高2、 TCP滑动窗口协议,窗口过大或过小有什么影响,举例(10分)滑动窗口:就是两台主机间传送数据时的缓冲区。

每台TCP/IP主机积极支持两个滑动窗口:一个用作接收数据,另一个用作发送数据。

窗口尺寸则表示计算机可能将缓冲器的数据量大小。

滑动窗口的大小对网络性能有很大的影响。

如果滑动窗口过小,则需要在网络上频繁的传输确认信息,占用了大量的网络带宽;如果滑动窗口过大,对于利用率较高,容易产生丢包现象的网络,则需要多次发送重复的数据,也同样耗费了网络带宽。

3、 Windows之下如何查阅挤占端口的进程(写下命令)(10分后)netstat -aon|findstr ""4、了解一下ACL和NAT?NAT存有几种方式?(10分后)ACL:1、访问控制列表(ACL)是应用在路由器接口的指令列表(规则),用来告诉路由器哪些数据包可以接收转发,哪些数据包需要拒绝;2、ACL的工作原理:读取第三层及第四层包头中的信息,根据预先定义好的规则对包进行过滤;3、使用ACL实现网络控制:实现访问控制列表的核心技术是包过滤;4、ACL的两种基本类型(标准访问控制列表;扩展访问控制列表)NAT:发生改变IP通辽并使目的地址,源地址或两个地址在通辽中被相同地址替代。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目1.ETL部分1.什么是数据准备区?在数据准备区中允许使用的数据结构有哪些?各有什么优缺点?答:2.简述异构数据源中的数据抽取技术。

答:3.数据质量检查的四大类是什么?为每类提供一种实现技术。

答:4.简述数据仓库中的表的基本类型,以及为了保证引用完整性该以什么样的顺序对它们进行加载。

答:5.在ETL过程中四个基本的过程分别是什么?答:6.从ERP源系统中抽取数据最好的方法是什么?答:7.简述直接连接数据库和使用ODBC连接数据库进行通讯的优缺点。

答:8.什么是代理键?简述代理键替换管道如何工作。

答:9.什么叫缓慢维度变化?请分别阐述三大类维度处理方式。

答:10.如何实现增量抽取,分别阐述各种增量抽取方式,并且比较各种方式的优劣,及你推荐的做法?答:11.用过什么ETL工具,以及该工具简单讲述特点。

答:12. ETL工具一般有哪些组成部分,其中数据流中常用的控件有?答:13.简述你在以前项目中的ETL架构思想。

答:2.数据库部分1. 比较truncate和delete 命令答:2. 视图与表有何区别?答:3.请说明ORACLE数据库中实例与数据库的关系,表空间和数据文件的关系。

答:4. ORACLE中varchar2,char两种数据类型有什么区别,如果库表某字段输入“ABC”后储存,该字段数据类型分别为varchar2(10),char(10)存储字节长度以及内容有何区别?答:5.找出"作者"库表中没有出现在"获奖名单"库表中的所有作者信息的SQL语句,(提示:使用NOT I N,NOT EXISTS,以及外部连接三种方法),并说明那种方法是不优化的。

出版社: 出版社代码 char(2),出版社名称 varchar2(32)图书: 图书编号 char(8),图书名称 varchar2(128),出版社代码 char(2),作者代号char(4),图书简介 varchar2(128)作者: 作者代号 char(4),作者名称 varchar2(10),性别 char(1),年龄 number(3),文学方向 var char2(64)获奖名单: 获奖日期 date,获奖人员 char(4)答:6.有下列两表Table1Col1 INTCol2 CHAR (30)Table2Col1 INTCol2 CHAR (30)请问下列哪条语句会将table2的全部列插入到table1?()A. INSERT INTO table1 (table2.col1,table2.col2)B. INSERT INTO table1 SELECT col1, col2 FROM table2C. INSERT INTO table1 VALUES (SELECT col1,col2 FROM table2)D. INSERT INTO table1 (col1, col2) VALUES (SELECT col1, col2 FROM table2)7.有下列两表TAB1 TAB2C1 C2 CX CY---- ----- ------ -----A 11 A 21B 12C 22C 13D 23如果要得到如下的输出结果:C1 C2 CX CY----- ----- ---- -----A 11 A 21C 13 C 22-- -- D 23下列哪条语句会得到所需的结果? ()A. SELECT * FROM tab1 INNER JOIN tab2 ON c1=cxB. SELECT * FROM tab2 FULL OUTER JOIN tab1 ON c1=cxC. SELECT * FROM tab2 RIGHT OUTER JOIN tab1 ON c1=cxD. SELECT * FROM tab1 RIGHT OUTER JOIN tab2 ON c1=cx8.事务有多个性质,其中不包括()A.一致性 B.唯一性C.原子性 D.隔离性9.有一个空表t_empty,结构是:create table t_empty(a integer)请问以下各语句的输出分别是什么?(A) select sum(a) from t_empty(B) select nvl(a,0) from t_empty(C) select count(*) from t_empty答案1.ETL部分1.在数据抽取阶段,我们需要连接到源系统,为了对源系统的影响尽量小,我们需要将抽取的数据保存成文本文件或者放入数据准备区的表中,这样,当ETL过程出现错误而失败时,我们就可以从这些文本文件开始ETL,而不需要再次影响源系统。

这种存储数据的方式叫数据准备区。

1)固定格式的文本文件。

Flat File指的是一种保存在系统上的一种文本文件格式,它以类似数据库的表的方式用行和列来保存数据。

这种文件格式经常用来进行数据交换。

用于保存数据不太合适。

2)XML数据集。

多用于数据交换,用户保存数据不太合适。

3)关系数据库的表。

保存数据的较理想选择。

4)独立的数据库表。

独立的数据库表一般指建立的表和其他表没有外键约束关系。

这样的表多用于数据处理。

5)三范式或者关系型模型。

6)非关系型数据源。

非关系型数据源一般包括COBOL copy books、VSAM文件、Flat文件、Spreadsheets等。

7)维度模型。

8)原子事实表和聚集事实表。

9)代理键查找表。

2. 在数据仓库项目中,需要抽取的数据经常来自不同的数据源,它们的逻辑结构和物理结构都可能不同,即称之为异构数据源。

在对异构数据源进行整合抽取时,我们需要做的事情依次是标识出所有的源系统,对源系统进行概况分析,定义数据匹配逻辑,建立筛选规则,生成一致性维度。

3. 数据质量检查是ETL工作中非常重要的一步,主要关注一下四个方面。

1)正确性检查(Correct):检查数据值及其描述是否真实的反映了客观事务。

例如地址的描述是否完全。

2)明确性检查(Unambiguous):检查数据值及其描述是否只有一个意思或者只有一个解释。

例如地名相同的两个县需要加区分方法。

3)一致性检查(Consistent):检查数据值及其描述是否统一的采用固定的约定符号来表示。

例如币别中人民币用'CNY'。

4)完全性检查(Complete):完全性有两个需要检查的地方,一个是检查字段的数据值及其描述是否完全。

例如检查是否有空值。

另一个是检查记录的合计值是否完全,有没有遗忘某些条件。

4. 数据仓库中的表的基本类型有维度表、事实表、子维度表、桥接表等几类。

其中子维度表即雪花模型由支架维度技术处理,桥接表用来处理多值维度或层级结构。

数据仓库中需要加载的各类表之间有相互依赖的关系,所以加载时需要以一定的顺序进行加载。

下面是一些加载的基本原则:1)子维度表加载成功后,再加载维度表。

2)维度表加载成功后,再加载桥接表。

3)子维度表、维度表和桥接表都加载成功后,再加载事实表。

这个加载顺序可以通过主外键的关系来确定。

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

1)抽取阶段的主要任务是:读取源系统的数据模型。

连接并访问源系统的数据。

变化数据捕获。

抽取数据到数据准备区。

2)清洗阶段的主要任务是:清洗并增补列的属性。

清洗并增补数据结构。

清洗并增补数据规则。

增补复杂的业务规则。

建立元数据库描述数据质量。

将清洗后的数据保存到数据准备区。

3)一致性处理阶段的主要任务是:一致性处理业务标签,即维度表中的描述属性。

一致性处理业务度量及性能指标,通常是事实表中的事实。

去除重复数据。

国际化处理。

将一致性处理后的数据保存到数据准备区。

4)交付阶段的主要任务是:加载星型的和经过雪花处理的维度表数据。

产生日期维度。

加载退化维度。

加载子维度。

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

处理迟到的维度和迟到的事实。

加载多值维度。

加载有复杂层级结构的维度。

加载文本事实到维度表。

处理事实表的代理键。

加载三个基本类型的事实表数据。

加载和更新聚集。

将处理好的数据加载到数据仓库。

从这个任务列表中可以看出,ETL的过程和数据仓库建模的过程结合的非常紧密。

换句话说,ETL系统的设计应该和目标表的设计同时开始。

通常来说,数据仓库架构师和ETL系统设计师是同一个人。

6. ERP系统的产生是为了解决企业内异构数据的整合。

这个问题也是数据仓库系统面临的主要问题。

ERP的解决方案是将企业内的各个应用(包括销售、会计、人力资源、库存和产品等)建立在相同的平台和相同的应用框架下,即在应用操作层将企业内的数据进行了一致性处理。

而数据仓库是在应用操作层之上建立一致性的规则并进行一致性处理。

如果企业内只有一套ERP系统,那么数据就已经是一致的了,为数据抽取提供了方便。

如果企业内除了ERP外还有其他系统,则数据抽取会变得复杂。

因为目前的ERP系统的数据模型都非常复杂,可能有几百几千个表,并且较难理解。

直接在ERP系统上建立数据捕获和抽取是非常复杂的。

最好的办法是购买能针对ERP系统数据抽取提供功能的ETL工具,将ERP内部的复杂性留给ETL厂商处理。

7.通常连接数据库的方式分为两类,一类是直接连接,另一类是通过ODBC连接。

直接连接的方式主要是通过COBOL、PL/SQL、Transact-SQL等方式连接数据库。

这种方式的优点是运行性能高,可以使用DBMS提供的一些特殊功能。

缺点是通用性差。

ODBC是为windows应用程序访问数据库提供的一组接口。

ODBC的优点是灵活性,通过改变驱动和连接方式可以使用不同的数据库。

ODBC方式的缺点是性能差。

使用ODBC连接方式实现ETL的话,在ETL程序和至少要有两层,分别是ODBC Manager层和ODBC Driver层。

另外,使用ODBC方式不能使用DBMS提供的一些特殊的功能。

8.在维度表的迁移过程中,有一种处理方式是使用无意义的整型值分配给维度记录并作为维度记录的主键,这些作为主键的整型值称为代理键(Surrogate Key)。

使用代理键有很多好处,如隔离数据仓库与操作环境,历史记录的保存,查询速度快等。

同时,在事实表的迁移过程中,为了保证参照完整性也需要进行代理键的替换工作。

为了代理键替换的效率高一些,我们通常在数据准备区中建立代理键查找表(Surrogate Mapping Table or Lookup Table)。

代理键查找表中保存最新的代理键和自然键的对应关系。

在对事实表进行代理键替换时,为了保证效率高,需要把代理键查找表中的数据加载到内存中,并可以开多线程依次替换同一记录的中的不同代理键,使一条事实记录在所有的代理键都替换完后再写如磁盘中,这样的替换过程称为代理键替换管道(Surrogate Key Pipeline)。

相关文档
最新文档