数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章

上传人:E**** 文档编号:89184483 上传时间:2019-05-20 格式:PPT 页数:59 大小:375KB
返回 下载 相关 举报
数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章_第1页
第1页 / 共59页
数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章_第2页
第2页 / 共59页
数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章_第3页
第3页 / 共59页
数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章_第4页
第4页 / 共59页
数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章》由会员分享,可在线阅读,更多相关《数据仓库与数据挖掘原理及应用(第二版) 教学课件 ppt 作者 王丽珍 周丽华 陈红梅 第2章(59页珍藏版)》请在金锄头文库上搜索。

1、1,第二章 数据仓库中的ETL和元数据,2,第二章 目录,2.1 ETL 2.2 元数据 2.3 外部数据 2.4 本章小结,3,2.1 ETL 2.1.1 ETL概念(1),在构建数据仓库的过程中,占据大量工作时间、在日常运行中经常出现问题并且问题最多的一个工作就是从业务数据库向数据仓库抽取、转换、加载数据。究其原因,是因为源数据往往来自于各种不同种类和形式的业务系统。为了保证数据仓库中数据的质量,需要一种支持多种数据源,具有数据“净化提炼”功能、数据加工功能和自动运行功能的抽取类程序。ETL正是这样的抽取程序。 数据仓库的ETL系统是数据仓库中数据整理阶段的一个主要工具,它与元数据管理相结

2、合,提供对不同数据源的数据进行抽取、转换和加载的功能。ETL是数据从业务系统抽取转化到数据仓库的过程,具体包括了如下6个子过程:数据提取(Data Extract)、数据验证(Data Verification)、数据清理(Data Cleaning)、数据集成(Data Integration)、数据聚集(Data Aggregation)和数据加载(Data Load)。6个子过程之间的关系以及ETL过程中数据和元数据的流动见图2.1。,4,通常而言,开发一个数据仓库项目包括了三个主要步骤:需求/建模,ETL开发和前端开发。其中,ETL是构建数据仓库的重要一环,同时也是构建数据仓库的基础与

3、前提,是数据仓库从业务系统获得数据的必经之路。用户从数据源抽取出所需的数据,经过数据清洗和转换,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。,2.1.1 ETL概念(2),5,在数据仓库建设的业务需求和数据分析阶段,我们将创建许多种数据映射信息。ETL 数据映射表是指导ETL过程设计的最佳方式,可以将该表用作与业务客户就数据映射和ETL过程问题进行交流的方式。ETL数据映射表有不同的级别,如实体级别和属性级别。每个级别中都具有不同级别的详细数据映射信息。表2.1是一个实体级别的ETL数据映射表的简化例子。该表中的每个“X”表示到操作细节或较低级数据映射文档的链接。,2.1.1

4、ETL概念(3),6,1. 数据提取(Data Extract) 数据提取是捕获源数据的过程。有两种捕获数据的主要方法: 完全刷新 增量更新 完全刷新,顾名思义,是对移入数据仓库的数据进行完全复制。该复制可能替换数据仓库中的内容,及时在新的时间点上添加完整的新副本,或者与目标数据进行比较,以便在目标中生成一条修改记录。增量更新的关注重点是只捕获源数据中修改的数据。 数据的提取须既能满足决策的需要,又不影响业务系统的性能,所以进行数据提取时应制定相应的策略,包括提取方式、提取时机、提取周期等内容。 在制定提取策略时,需要对数据的种类、数据的特征以及数据内容等各项因素综合考虑。通常情况下,流水型增

5、长且数据量大的数据适合采用增量更新的方式;经常变化更新的数据适合采用完全刷新的方式;对于两者结合的数据,优先考虑增量更新方式,其次才考虑完全刷新的方式。 对于提取周期要考虑实际业务的需要和提取进行的系统代价,在可能的情况下,尽量缩短提取周期。,2.1.1 ETL概念(4),7,2. 数据验证(Data Verification) 数据验证是一个处理不尽人意(less-than-perfect)的数据的过程。 在数据仓库建设的业务数据分析阶段,一般产生了一组数据质量假设。这些假设将指定客户和仓库建设者双方在数据质量问题上的职责。仓库建设者通常通过数据清理和增强等方法保证仓库的质量,而客户则可以从

6、数据源本身出发,来有效地解决数据质量问题,这常常是保证数据质量的关键问题。例如: 丢失的数据恢复。 模糊的数据转换。 业务操作应用程序带来的数据质量问题 只能从应用程序本身解决的数据质量问题。 一般应该在数据仓库建设的合同文档中包含数据质量假设,因为如果没有用正确的方法及时解决业务数据的质量问题,它可能严重影响数据仓库建设的时间表。数据质量假设可能是与客户进行时间表协商的一个重要条件。,2.1.1 ETL概念(5),8,即使假设客户将承担其责任,解决他们业务数据源中的数据质量问题,但将来仍然可能在业务数据源中再次产生质量较差的数据。在那些数据对后面的ETL过程产生负面影响之前,实现数据验证,用

7、ETL的数据验证模块来拒绝它们就显得十分重要。数据验证包含许多检查,其中主要包括: 属性的有效值(域检查)。 属性在剩余行的环境中是有效的。 属性在该表或其他表中相关的环境中是有效的。 关系在该表和其他表中的行间是有效的(外键检查)。 这并非是一个详尽的列表。它仅仅强调了数据验证的一些基本概念。,2.1.1 ETL概念(6),9,3. 数据清理(Data Cleaning) 数据清理是清理有效数据,使之更精确更有意义的过程。数据清理包括下列任务: 数据合并。 域转换和同步。 数据类型和格式的转换。 用于不同目标表的数据分离(Data splitting)。 数据合并的一个常见例子就是姓名和地址

8、信息。客户的姓名和地址信息通常存储在多个位置上。经过一段时间,这些信息可能就不同步了。,2.1.1 ETL概念(7),10,一般的数据清理将提供下列可供指定的清理类型: 查找替换:在规则表的Find列中定位所选择的源列值,然后在目标表中用规则表中相应的替换值替换该值。规则表是这种清理类型所必需的。规则表指定数据清理查找和替换过程中将使用的值。 数字修剪:缩短超出了指定范围的数字输入值。范围内的输入值将不加修改的写入输出。范围之外的输入值将由下界替换值或上界替换值进行替换。规则表是这种清理类型所必需的。 离散化处理:基于规则表中的范围执行输入值的离散化(discretization)。规则表是这

9、种清理类型所必需的。如果允许该清理类型为空(null),则必须在规则表的 Bound 列中放入null值。 带“null”处理的传输:指定输入表中要复制到输出表中的列。可以从输入表中选择多个列移至输出表中。规则表不是这种清理类型所必需的。这种清理类型允许用指定的值替换空(null)值。还可以拒绝null,并将所拒绝的行写入错误表中。,2.1.1 ETL概念(8),11, 大小写转换:将源列中的字符从大写转换成小写,或从小写转换成大写,并将其插入目标列中。默认情况下,将源列中的字符转换成大写。规则表不是这种清理类型所必需的。 无效值的替换: 用指定的值替换没有包含在所使用的规则表的有效值列中的所

10、有值。必须指定与源列数据类型相同的替换值。例如,如果源列是数字类型的,则必须指定一个数字型的替换值。有效值在写入目标表时不会发生改变。规则表是这种清理类型所必需的。 大多数清理类型都有一个Matching Options窗口,用于指定希望用来处理匹配的方式。,2.1.1 ETL概念(9),12,4. 数据集成(Data Integration) 数据集成是将多个数据源联合成一个统一数据接口来进行数据分析的过程。数据集成是仓库数据转换过程中最重要的步骤,也是数据仓库设计中的关键概念。 数据集成可能极其复杂。在该模块中,可以应用数据集成业务规则以及数据转换逻辑和算法。集成过程的源数据可以来自两个或

11、更多数据源,它通常包含不同的连接操作。源数据还可能来自单个数据源,该类型的数据集成通常包含域值的合并和转换。集成结果通常生成新的数据实体或属性,易于终端用户进行访问和理解。,2.1.1 ETL概念(10),13,5. 数据聚集(Data Aggregation) 数据聚集是收集并以总结形式表达信息的过程。数据聚集通常是数据仓库需求的一部分,它通常是以业务报表的形式出现的。 在多维模型中,数据聚集路径是维度表设计中的重要部分。因为数据仓库几乎都是关系数据模型类型的,所以最好是从数据集市构建业务报表。如果直接从数据仓库构建报表,需确保数据聚集表与其余的仓库数据模式相对分隔,这样,报表的业务需求修改

12、将不影响基本的数据仓库数据结构。,2.1.1 ETL概念(11),14,6. 将数据装入仓库目标表 将数据移至中心数据仓库中的目标表通常是ETL过程的最后步骤。装入数据的最佳方法取决于所执行操作的类型以及需要装入多少数据。一般可以通过两种基本方法在数据库表中插入和修改数据: SQL insert/update/delete(IUD) 成批load实用程序 大多数应用程序使用SQL IUD操作,因为它们进行了日志记录并且是可恢复的。但是,成批加载操作易于使用,并且在装入大量数据时速度极快。使用哪种数据装入方法取决于业务环境,应在ETL设计文档中指定装入方法。 总之,ETL是数据仓库建设的一个重要

13、步骤,它从业务系统的资源中抽取、转换数据并将数据加载到数据仓库或数据集市中,用于以后的分析。ETL过程关系到数据的质量,是数据仓库应用的基石。实践证明在建设数据仓库的过程中,ETL过程已经占到50%以上,因此,必须对ETL给予充分的重视。,2.1.1 ETL概念(12),15,2.1.2 ETL作用(1) 在企业管理中,高层管理者总是希望能随时随地访问到任何他们需要的信息,这就要求有一个体系结构来容纳各种格式的内部数据和外部数据,例如经营数据、历史数据、现行数据以及来自internet服务提供商的数据,此外还应包括易于访问的元数据。这些数据源因为来源不同,具有大量、分散和不清洁的特点,不能为数

14、据仓库直接使用,而对所有数据的分析、挖掘活动也必须建立在一个数据清洁、结构良好的数据仓库的基础之上。这些必须由ETL来实现,它是数据仓库获得高质量的数据的环节,其必要性体现在: 1. 解决数据分散问题 对于企业来说,数据主要有四个方面的来源:客户信息、客户行为、生产系统和其他相关数据。如果只对某个系统的数据进行分析,以作为决策支持的依据,显然有信息不全面、分析不准确的缺点。ETL可以解决这些问题。根据企业决策的需求,数据仓库将决策分析用的数据集中在一起。,16,2. 解决数据质量问题 分散的数据也带来了数据质量的问题。同一个客户的信息在不同系统中的数据不一致,而且有些数据可能是不真实的。另外,

15、分散的业务系统中的数据是面向业务的,而不是面向决策的。ETL模块解决了数据不清洁的问题,并将数据转换为决策分析所需要的类型。通过对分散数据的集中,清洁和转换,数据仓库中才能存储着清洁、一致、全面和面向决策的数据。 3. 方便企业各部门构筑数据集市 数据仓库是面向整个企业的数据应用,而针对各个部门的信息应用是构筑数据集市。数据集市的数据是按照部门从数据仓库中抽取,并进行加工处理。构筑数据集市过程中,使用ETL工具,既简化操作,又可以大幅度提高运行效率。,2.1.2 ETL作用(2),17,2.1.3 ETL工具(1) 至今为止,数据仓库的实用化已经走过了十多年的历程,应用领域遍及通信、证劵、银行

16、、税务和保险等行业。而各大数据库厂商纷纷宣布产品支持数据仓库并提出了用以建立和使用数据仓库的产品,如Informaix、Oracle、Microsoft、IBM公司等。 1. ETL工具分类 从ETL的操作环境,ETL工具可以被分成3种类型: (1)交互型。指定数据源、目标数据及规则,及时实施ETL。这种交互式的操作无疑非常方便,但是只能适合小数据量和复杂度不高的ETL过程,一旦规则复杂了,可能需要语言级的描述。还有数据量和性能的问题,这种交互式环境的灵活性必然以牺牲一定的性能为代价,因此,如果要处理海量数据,性能将成为这类工具的瓶颈问题。,18,(2)编码型。它提供了一个基于某种语言的程序框架,可以将编程精力主要放在规则(即数据转换)的实现上,而不必放在其它功能上,例如读文件功能、写数据库的功能。对于处理大数据量,处理复杂数据转换的ETL实现,这类工具应该是理想的。 (3)代码生成器型。它是一个ETL

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

当前位置:首页 > 高等教育 > 大学课件

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