本站首页    管理页面    写新日志    退出


«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告

数据仓库&数据挖掘

  对某一件事需要坚持方能真正完成这件事

            薛 峰  

           2009.02.03


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:数据仓库与数据挖掘
日志总数:85
评论数量:14
留言数量:0
访问次数:726445
建立时间:2005年3月17日




[数据仓库]数据仓库中的ETL过程
原创空间

薛 峰 发表于 2009/2/3 16:32:24

    数据仓库中的ETL过程     1       数据的ETL ETL指的是Extraction, Transformation与Loading。Extraction指的是如何将数据从源系统中截取出来,Transformation指在截取出来的数据格式与数据仓库所需要的数据做转换,Loading指的是将数据加载到数据仓库中。ETL过程的设计和实现是数据仓库建设过程中的至关重要的一部分,采用良好的ETL设计结构可以有效的提高数据仓库的查询性能,并且更能够方便开发人员的维护和升级。 2       ETL系统架构设计 以上为一个数据仓库的ETL系统架构图,从图上可以看出整个数据仓库体系结构主要有源系统、源系统数据文件、数据仓库平台、数据集市等主要数据存储区。另外在数据仓库平台中还包括临时数据区和基础数据区两个集中存放数据仓库数据的区域与一个用来控制与调度ETL加载任务的控制数据库。 数据使用文本文件格式从源系统到处后使用FTP将数据传输到数据仓库服务器,而后经过第一步ETL加载过程进入数据仓库临时数据区,在这个过程中主要将数据文件中的数据进行清洗和整理按照源系统的数据字典情况转换为数据仓库中对应的数据格式,将所有数据文件中的数据全部存入临时数据表中。而后数据又经过第二步ETL过程将临时数据区中的数据按照数据仓库逻辑数据模型和物理数据模型设计的主题、关系表、代码表等业务逻辑全部进入基础数据区。这一步骤是数据仓库建设过程中至关重要的一部分,在这一步骤中ETL过程主要处理整合数据和优化数据结构。第三步ETL为数据集市从基础数据区抽取相应的数据到数据集市,这一步骤一般只是直接抽取所需要的数据。 3       ETL体系逻辑模块。 ETL数据处理过程:即数据的抽取、加载与转换。该模块是整个ETL体系的核心,所有源数据层与数据服务层之间的数据映射关系以及数据转换与计算逻辑关系,都蕴含在该模块中。 数据质量检查:是数据在转移和转换过程中正确性保证的重要手段,从实现层次上具备文件级检查、记录级检查、数据级检查和业务级检查四部分的功能,除业务级检查外,其他三类均在ETL过程中实现。 出错处理与回溯:是指各种异常情况的发生而导致数据ETL过程出错时,通过回溯操作可使数据库中的数据恢复到数据正确最近的时点,从而进行恢复性加载。保证EDW数据的可恢复性和数据处理的灵活性。在出错的情况中,比较严重的是当数据库中的数据出现较多错误时,需要对数据库中的数据进行回溯到前一天或数据正确最近的时点 任务调度与控制:统一的任务调度、自动化的流程控制与日志跟踪机制,无论是ETL过程本身,还是过程中的数据质量检查以及出错处理和数据回溯,都需要统一在一个自动化的流程控制中,所有的任务根据其定义进行统一的调度,同时,每一个处理过程都进行日志记录,以便将来的追溯与跟踪。   3.1    数据检查 数据检查在ETL过程中时刻在发挥这作用,数据检查主要包括文件级检查、记录级检查、数据级检查和业务级检查。 源系统将数据文件使用FTP传输到数据仓库服务器后,数据加载过程首先检查数据文件,主要检查数据文件的大小、数据文件格式是否是正规的文本文件。如果文件级检查出错,则整个数据文件不进行解析和加载,并且将有问题的数据文件移到有关目录下保存以便分析使用,同时将错误信息记录到数据库或者日志中。 源系统数据文件通过文件级检查后系统对数据文件进行解析和进行记录级检查。记录级检查主要检查是否使用规定的数据分隔符,字段数是否与数据字典的字段数一致,每个字段的数据格式是否一致等信息。如果数据记录级检查错误则,将有错的记录保存到特定的日志文件中,同时针对每条记录需要标记出记录错误类型以便开发人员分析。 数据级检查主要根据事先定义的数据字典检查数据字段格式是否能够按照规定的数据格式存放到数据库中。如果数据级检查出错则,系统将指定的数据存放到特定的日志文件。 业务级检查主要是在源数据已经进入了临时数据区后有业务人员和设计人员检查数据是否正真代表业务含义,这里没有规定的检查方式需要业务人员和设计人员人为检查。 因此数据质量检查模块在体系组成中需要包括数据质量检查规则配置库、数据质量检查任务、数据质量检查日志结果库。数据质量检查规则配置库用于定义进行数据检查的功能和规则;数据质量检查任务将完成各种具体的检查任务,这些任务将安置在ETL流程的各个环节。同时,在ETL运行的过程中,数据检查任务会将各自检查的结果写入数据检查日志结果库中。 3.2    数据处理 从整体上数据处理是指针对加载数据的抽取、清洗、转换、加载等步骤,但是从数据仓库架构设计上数据处理主要由第一步抽取源系统数据到临时数据区,第二步整理和整合各源系统数据到基础数据区,第三步根据应用系统的需要抽取相关的数据形成数据集市以便相应的应用进行查询。 抽取源系统数据到临时数据区的过程主要通过文本文件格式进行数据交互,一般文本文件有源系统提供,并且使用FTP工具传输到数据仓库服务器,完成数据加载后删除临时文件数据。源系统将需要加载的临时文本文件传送到数据仓库服务器后,数据处理过程根据指定的规则按行进行读取数据文件,在加载数据过程中根据对应的转换规则进行转换数据格式,并且将所有空值数据使用统一的数据进行替代。 从源系统来的数据文件加载到临时数据区后,需要整理和整合各个源系统数据保存到数据仓库的基础区。这个过程是ETL过程中的核心部分,在这个过程中需要根据数据仓库的逻辑数据模型和物理数据模型确定每个主题和历史表之间的关系和相应的加载策略抽取和整合已经保存在临时数据区的源系统数据,最终优化数据结构将各源系统数据存放在基础数据区中。基础数据区是根据数据仓库的逻辑数据模型设计需要满足三范式设计模式,以便数据仓库的数据能够方便的使用和扩展。 在基础数据区的数据已经能够方便的使用,但是在数据仓库项目建设过程中发现,如果应用系统频繁的查询基础数据物理表降低了数据仓库的整体性能。为了解决这个问题,可以采用两种方法进行处理,第一是针对经常被查询的数据建立特定的视图或者物化视图以便提高查询速度,第二是将特定分析内容进行抽取和汇总形成特定分析的数据集市,在数据集市基础之上进行查询和分析。 3.3    出错处理 如果由于各种异常情况的发生而导致数据ETL过程出错时,通过回溯操作可使数据库中的数据恢复到数据正确最近的时点,从而进行恢复性加载。保证EDW数据的可恢复性和数据处理的灵活性。在出错的情况中,比较严重的是当数据库中的数据出现较多错误时,需要对数据库中的数据进行回溯到前一天或数据正确最近的时点。 3.4    任务调度 统一的任务调度、自动化的流程控制与日志跟踪机制,无论是ETL过程本身,还是过程中的数据质量检查以及出错处理和数据回溯,都需要统一在一个自动化的流程控制中,所有的任务根据其定义进行统一的调度,同时,每一个处理过程都进行日志记录,以便将来的追溯与跟踪。    


阅读全文(5737) | 回复(1) | 编辑 | 精华
 


回复:数据仓库中的ETL过程
原创空间

123456(游客)发表评论于2009/4/7 9:24:09

擦窗机 空调安装 北京空调安装 北京空调移机 梅兰ups 吸塑 吸塑包装 吸塑制品 热喷涂 锅炉防磨 锅炉喷涂施工 钢板网 护栏网 气液过滤网 铁丝网 尼龙网 模拟高尔夫 室内模拟高尔夫 模拟射击 光枪游戏 激光狩猎 激光射击 咖啡机 眩晕 美尼尔氏综合症 礼品盒 包装盒 中央空调节能 高压变频器节能 空压机节能 拆除 北京拆除 拆除公司 建筑物拆除 咖啡机 咖啡机维修 咖啡机租赁


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.598 second(s), page refreshed 144799183 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号