ETL简单介绍.doc_第1页
ETL简单介绍.doc_第2页
ETL简单介绍.doc_第3页
ETL简单介绍.doc_第4页
ETL简单介绍.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. ETL概述1.1. ETL介绍ETL分别是三个单词的首字母缩写(Extract/Transform/Load)也就是抽取、转换、装载。ETL包含了三方面,首先是抽取:将数据从各种原始的业务系统中读取出来,这是所有工作的前提。其次转换:按照预先设计好的规则将抽取的数据进行转换,本来异构的数据格式能统一起来。最后的装载:将转换后的数据按计划增量或全部导入到数据仓库中。2. 详解ETL过程2.1. 数据抽取数据抽取就是从源系统中获取业务数据的过程。在数据抽取过程中,被抽取的数据要满足系统中模型对数据的分析需求,为保证不影响系统的性能,数据抽取时必须考虑抽取方式,抽取时间和抽取周期等因素。抽取方式方面包括增量抽取和全量抽取,根据本项目的实际业务需求,数据的抽取方式采用增量抽取。抽取时间放在日终。抽取的周期按天抽取。在数据抽取之前,必须了解数据量的大小,业务系统中每张表的数据结构,字段含义,表之间的关联关系等信息,掌握这些信息后才能进行数据抽取工作。数据抽取有下面3种情况。1. 如果业务操作型源数据库和目标数据库之间的数据库管理系统完全相同,那么只需建立相应的连接关系就可以使用ETL工具直接访问,或者调用相应的SQL语句和存储过程。2. 如果业务操作型源数据库和目标数据库之间的数据库管理系统不相同,那么就需要使用ETL工具从业务操作型源数据库中把所需数据导出成文本文件或者Excel文件,然后再使用ETL工具对导出的数据进行统一的数据抽取。3. 如果需要抽取的数据量非常庞大,这种情况下,必须考虑增量抽取,首先用标记位或者时间戳的形式,每次抽取前首先判断是否是抽取标记位或者是当前最近的时间,然后再将数据源的数据抽取出来。2.2. 数据清洗数据清洗的目的就是选择出有缺陷的数据,然后再将他们正确化和规范化,从而使业务模型所需的数据符合数据质量标准。数据缺陷包括以下几种情况:1. 数据重复;2. 数据错误;3. 数据范围混淆;4. 存在“脏”数据;5. 数据不一致。其中数据重复是指标准不唯一,很多数值都代表着相同的含义。数据范围混淆是指相同的数值会应用到不同的场合中,代表着不同的含义。数据清洗的流程包括以下几个方面:1. 定义业务数据源标示出满足需求的数据源,并且决定什么时候进行数据清洗。2. 分析业务数据源分析数据源的数据是否符合业务的规则和定义,是否存在非正常的数据结构。3. 将数据标准化定义标准化格式的数据,并且加以转换。4. 通过业务规则修正错误数据定义是否为正确数据的标准,确定处理错误数据的方法。5. 合并数据将属于同一实体的多个数据进行合并,合并是有去重的功能。6. 总结数据错误类型通过总结数据出错的类型,提高清洗程序的完整性和正确性,从而降低数据出现重大问题的可能性。图4-2-1 数据清洗流程图2.3. 数据转换数据的转换时指从业务系统中抽取出源数据,然后再根据业务模型的需求,进行一系列数据转换的过程。ETL的转换过程包括以下几个方面:1. 对空值的处理如果在转换过程中捕获到某些字段存在空值,在进行加载时需要将空值替换成某一数值或者直接进行加载,不做任何转换。2. 对数据格式的规范化根据业务数据源中各个字段的数据类型,进行数据格式的规范和统一。例如,统一将数值类型转化成字符串类型。3. 根据业务需求进行字段的拆分或者合并。4. 对缺失数据的替换。5. 根据业务规则对数据进行过滤。6. 根据编码表进行数据唯一性的转换根据编码表制定的业务规范进行数据的转换,实现建模数据库系统内部数据的一致性。 图4-3-1 ETL的转换过程2.4. 数据加载过程就是把已经转换完成的数据,存放在目标数据库的过程。这是ETL过程中的最后一步,需要保证加载工具必须具有高效的性能去完成数据加载,同时还需要考虑数据加载的周期和数据加载的策略。数据加载策略包括时间戳的加载方式,全表对比的加载方式,通过读取日志表进行加载的方式,去表删除后再进行加载的方式。图4-4-1 数据加载策略时间戳的加载方式是通过对源系统的表添加时间戳字段,将系统当前时间和时间戳的值进行对比,决定哪些业务数据需要被抽取,可以实现数据的递增加载。全表对比的加载方式是在数据加载前,将每条数据都与目标表的所有记录进行全表对比,根据主键值是否相同,判断数据时更新还是插入,但是这种方法有一个缺点就是当数据量比较大的时候,耗时长,效率低。所以通常会对全表对比进行改进,采用版本号,标记字段等缓慢变化维的形式进行增量抽取。读取日志表的加载方式是当源数据表发生变化时,不断更新日志表的信息,日志表的信息作为数据加载的一个依据。全表删除后在插入的加载方式是在数据加载前,先删除目标表的所有数据,然后再去加载全部的数据。2.5. ETL的日志ETL的日志主要记录ETL执行过程中的每一步信息,包括运行的起始时间和结束时间,历史数据的抽取记录,数据抽取的行数和运行到某一步的出错信息,出错时间等内容。这些信息是ETL工具自动产生的,帮助系统维护人员进行监控,如果ELT过程出现错误,会形成错误日志,系统管理员可以通过邮件或者其他方式接受到该错误信息,然后对该错误及时进行处理。2.6. Informatica的异常处理2.6.1. 数据异常1、将错误信息单独输出,继续执行ETL,错误数据修改后再单独加载2、中断ETL,修改后重新执行ETL3、原则:最大限度接收数据2.6.2. 环境异常对于网络中断等外部原因造成的异常,设定尝试次数或尝

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论