(计算机软件与理论专业论文)etl技术在qhse报告系统中的研究与实现.pdf_第1页
(计算机软件与理论专业论文)etl技术在qhse报告系统中的研究与实现.pdf_第2页
(计算机软件与理论专业论文)etl技术在qhse报告系统中的研究与实现.pdf_第3页
(计算机软件与理论专业论文)etl技术在qhse报告系统中的研究与实现.pdf_第4页
(计算机软件与理论专业论文)etl技术在qhse报告系统中的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机软件与理论专业论文)etl技术在qhse报告系统中的研究与实现.pdf.pdf 免费下载

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

文档简介

北京交通大学硕士学位论文 中文摘要 中文摘要 摘要:本文针对传统数据库中海量业务数据无法得到有效利用的问题,在e 1 儿 理论基础之上,提出了数据仓库项目中e ,r l 问题的解决方案,主要研究了基于元 数据的数据抽取、转换和加载以及数据清洗的方法,详细阐述了e 儿技术在中国 石油q h s e 报告系统中的应用,具体内容包括; 1 q h s e 报告系统为不同的业务数据源提供统一的数据接口规范,用于从各 业务系统或工作环境中获取包含统计报表和多维分析信息的初始数据文件,合理 运用数据实现跨越多平台多系统的数据整合; 2 针对没有相应的信息管理系统,报告系统使用n l 强技术开发q h s e 数据 录入导入系统,并运用沮。技术实现不规则数据文件抽取; 3 校验初始数据文件,检查数据是否符合数据仓库系统要求的业务标准及数 据的合法性,进行数据清洗,并生成相应的日志记录; 4 按照指定要求加载通过合法性校验的文件或数据行到数据仓库数据表,设 计加载策略以提高e t l 效率。 论文对e 在数据仓库项目实施过程中的方法进行了总结,并提出下一步研究 的重点。 关键词:e 1 l ;数据仓库;元数据;帆;q h s e 北京交遥大学硕士学位论文a b s t r a c t a b s t r a c t a b s t r a c t n o 懒l d a y 蔓,p c o p l c u i d n ,tm a k e 璐eo fh u g eb 毯妇弱d a 扭 e 慨c t i v e l yi n 们d m d a 招b a t h i sp a p w h i c hi sb 舔e d e t l ,d e s 研b 路t h e a p p l i c a t i o fe 1 吧t e c h n o l o 彰j nq h s er e p o ns y s b 咖o fp e 虮,c h i n a ,雒da d v a n c e s s o l u t i o n s 棚l 鹕e - s l ed a t aw 眦岫略ep f o j e 吣i ti sd i v i d e di n t o 姗p a n s :加 咖c t ,妇地f 斫m ,a n dl o a db 雒e d 咖m c t a d a t a c l e a n s i n gm 咖o do f d a t 乱 i 。u n i 姗ld a 据主n 刍柏c f 主毛哦o ni ss 牡终l e d 鑫竹d i 碍n tb 猫矗攒s 醯as o l l p 吲 n so b t a i n e di n i t i a ld a t af i l e s 、他i c hk l u d e ds 协t i s t i c a ir q o r t s 锄dm u l t i d i n l s i 锄l y s i s 舶ma l l 丘e l 出o fb 吣弧潞g y s t e m 锄dw 矾【饥v i 瑚m e 嘁m 柚a g e sd a t ai n r e 弱t 0r e a l i z cd a t ac o n f 咖l i t ys p a n n i n g 姗n i _ p l 缅咖锄dm u l t i s y s t 唧; 2 碡e p o r ts y s t 锄i nc 桴n e tp r o g 咖n m i n gl 纽g i l a g ew d e v e l 叩c dt om a l i 孺 讼姚c 妇go f a b n o r m 匆d 酏af i l e sb y 旺拓c h n o lo _ 醪; 3 0 r i g i n a id a l af i l e sw 丛v e r i f i e d ,锄dc h e c k e do u tw h e t h e rd a t aa c r dw i t h d e m 锄do f w a r e h s es y s t c ma n dd a t av a l i d i 劬出衄w 鹤c l 啪e d 趾dr e l a t i v el o g f i l w 舾g 即e r a t c d ; 4 d a 诅f i l e s 缸dd a t ai 妇sw b i c hp 私s e dv a l i d j 哆v e r i 6 ,i n gw 雠l o a d e d c o r d i n g l oa p p o md 锄铋da n dd e s i 鲈l d i n gp 0 1 i c yt 0e l e v a t ee t l e 历c i 跖哆 mt h e do fp a p t h ea m h o rm a d e 鲫m m a 珂锄dp r o s p e c t m a i n j y t l 坞a u 也讲 鲫蛐a r i z e de t lm e i h o dj nd a t aw m h o u s ep 删e c td e v e l o p m e m ,a n dt h e np o i n _ t e do l 】t 血ek e ) ,o f m s b 眦hi n 也c 缸1 1 r e ,w h i c hi se l c v a t i i l ge f f i c i c yo f e t l k e y w o r d s :e t l ;d a t aw a r e h o 邺e ;m e t i i d a t a :咀矗q h s e 致谢 本论文的工作是在我的导师卢苇教授的悉心指导下完成的,卢苇教授严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。首先要衷心感谢我的院长 也是我的导师卢苇教授对我的指导和培养。您致力于培养理论与实际经验并重的 软件研究生,不仅在学术上给我们以指导,而且为我们提供了很多参与大型实际 项目,锻炼实际工作能力的机会,使我在各方面都得到了成长和进步,在这里首 先要感谢您。 感谢实验室和班级同学对我的关心和帮助,在这个温瑷的大家庭率,大家互 帮互助,使我受益颇丰,谢谢。 感谢中国石油勘探开发研究院和m ( 中国) 公司等所有q h s e 项目组的同 事们在整个项目期间给予我的指导和帮助。你们不仅使我克服了一些技术上的难 题,而且在为人处事方面给我很多启迪,跟你们共事让我成长很快,谢谢。 同时更要感谢我的家人,缝们的理解和支持使我能够在学校专心完成我的学 蔓k 。 北京交通大学硕士学位论文 绪论 1 1 背景介绍 l绪论 信息化随着商业竞争的日趋激烈,已成为提升企业竞争力的必要手段。目前 在业务应用系统的异构性与分布性越来越普遍的情况下,有效管理企业在经营运 作过程中所产生和收集的大量数据与信息,就显得尤为重要了。企业在不同时期、 在不同的背景下开发出来的面向不同的应用、不同的开发商完成的事务处理系统, 其数据的存储结构、存储平台和系统平台具有很大的异构性,逐渐形成了一个个 “信息孤岛”,这样迫切要求建立一种体系化的数据存储环境【”,将分析决策所需 的大量数据从传统的操作环境中分离出来,使分散、不一致的操作数据转换为集 成、统一的信息。 这就是数据仓库技术,数据仓库是计算机和数据应用发展到一定阶段的必然 产物。而e t l 作为从业务系统到数据仓库的桥梁,用最小的代价( 包括对日常业务 操作的影响和对技能的要求) 将针对日常业务的操作型数据转化为针对数据仓库 应用而存储的决策支持数据。 本论文基于一个数据仓库项目e t l 开发和实施的全过程展开讨论,该项目由中 国石油天然气集团与m m 公司合作开发,整体计划3 0 个月。涉及中国石油股份公司、 专业公司、地区公司及其直属单位。参与项目建设的q h s e 业务人员、信息技术人 员、系统设计和实施人员、软硬件服务提供商多达1 0 0 余人。整个项目专业性强、 范围广、工作量大、实施难度大。建成的q h s e 报告系统则将是我国第一个q h s e 信息管理领域的数据仓库决策支持系统,这将成为中国石油在国内甚至国际q h s e 管理领域领先地位的重要标志。 本人在项目中的角色是数据仓库的设计与实现。 1 2为何引入数据仓库 目前,国外关于数据仓库的定义很多,业界公认的数据仓库概念是以被称为 “数据仓库之父”的w h h m 出版( b u i l d 吨t l l ed a t aw 枷s e ) 一书为准; 数据仓库就是面向主题的、集成的、非易失的、随时间变化的数据集合。但就数 据仓库的实质来讲,它可以被视为一个存储了依据业务需求经过转换和清洗后数 北京交通大学硕士学位论文 据的数据库【3 】。数据类别及子目取决于业务人员及决策者对信息的要求。存储的原 则是易存、易取、易用而且有效( 时间和空间) 。一个数据仓库系统综合了多个部分 ( e r r l ,原始数据库,报表生成) 、与多个系统接口( 用于数据交换) ,同时生成的结 果供各个部门的业务人员和决策者使用。它解决了传统数据库解决不了的问题: 1 数据质量 数据质量对于数据仓库的质量将会产生深远影响。数据仓库是处理历史数据 用以支持决策的,脏数据一旦进入数据仓库,数据仓库处理错误的历史数据,势 必无法得到正确结果,而且这种错误将会累计,从而对数据仓库质量产生致命影 响。 2 数据源异构 一般来说,不同业务系统得到数据不仅格式内容不能匹配,而且由于面向的 主题不通,数据的表现形式也各异,这样一来,我们在使用这些数据进行分析的 时候,就无法合理全面的应用这些数据。使用e t l ,根据企业决策的需求,将企业 内各方的数据集中在数据仓库,以便能够从自身的运营情况中得到各种有价值的 数据,更好地进行市场的分析,减少风险,提高内部管理水平和决策的科学性。 3 数据追加方式不同 根据企业内部业务的不同,数据的追加方式也会各异。比如q h s e 中的h ( 健 康) 部分,人员健康数据的提交是以年为单位的,又如s ( 安全) 部分,事故就是 以月为单位【4 1 。由于数据追加方式的不同,在综合决策时,用一个统一的基准时间 衡量变得十分困难。随着时间的推移,数据量的增加,这种难度会逐渐增加。 4 打破数据查看方式限制 原有业务系统报表结构单一。如果同一数据从不同角度查看,就必须重新开 发一个报表,既消耗了资源,又浪费了时间。而利用数据仓库的多维分析,就可 以从不同角度观察数据,甚至可以把各个报表中的数据按不同角度叠放,大大提 高的数据的可用性。 1 3e t l 与数据仓库 肌是b i d w 的核心和灵魂,根据业务需求,从这些数据库中抽取相关数据, 并进行转换和清洗,然后同步或者异步的方式装载到数据仓库中。这是一个工作 量巨大的作业,根据已有经验,这也是e n 。运作中问题最多也最为繁琐的部分, e t l 就是完成这部分工作的。如果说数据仓库的模型设计是一座大厦的设计蓝图, 数据是砖瓦的话,那么e t l 就是建设大厦的过程。在整个项目中最难部分是用户需 2 北京交通大学硕士学位论文 求分析和模型设计,而e t l 规则设计和实施则是工作量最大的,其工作量要占整个 项目的6 0 哆缸8 0 【2 l ,这是国内外从众多实践中得到的普遍共识。e ,r l 在数据仓库建 设的作用主要体现以下几个方面: 1 解决数据的分散问题 数据仓库的数据源一般是存储在异构数据库中的业务系统数据。形成分散的 “信息孤岛”,这些系统之间因为缺乏统一的设计策略,导致信息之间缺乏有效的 交流;同源信息不一致,处理不及时,传递延误:无法获得对全企业业务的各项 业务发展的分析数据,无法为领导层提供辅助决策信息,也无法为市场营销提供 准确的分析数据。如果只对某个系统的数据进行分析,以作为决策支持的参考基 础,显然是不全面。这样必须需要e t l 过程,根据企业决策的需求,将企业内各方 的数据集中在数据仓库,以便能够从自身的运营情况中得到各种有价值的数据, 更好地进行市场的分析,减少风险,提高内部管理水平和决策的科学性。故e t l 的目的可以归纳为:改进数据仓库的质量和提高仓库中数据的可用性。 2 解决数据质量不高的问题 数据的准确性和一致性是一个成功的数据仓库必须具有的特点。因为数据仓 库本身依赖于各个业务系统( 数据源) ,因此如何有效地从源数据中把需要的数据加 载到数据仓库中是至关重要的一步。 分散的“信息孤岛”带来了数据质量问题。多个系统会导致统计口径存在差 异,从而引起数据的不一致性,甚至错误数据,可能误导决策;同时从多个系统 中发掘有价值的数据,需要通过人工的方法汇总加工,这样势必降低准确性; 目前的现存管理系统中的数据存在很多的问题,容易造成脏数据,主要原因 如下: 滥用缩写词、惯用语、数据输入错误、数据中的内嵌控制信息、重复记录、 丢失值、拼写变化、不同的计量单位和不同的编码。数据的质量往往是非常致命 的,道理非常简单“g i g 0 ”( g a r b a g emg 砷a g eo u t ) 嘲。数据仓库等项目的成 功是非常依赖于数据的质量。为了确保数据的质量,一般都在e t l 过程中加入“数 据清洗”的功能。 3 形成清洁、一致、全面的面向决策的数据 数据仓库是面向整个企业的数据信息应用的,业务生产数据产生业务明细数 据,虽然包含着大量对决策非常有价值的信息,但由干它们的组织方式是面向业 务应用而不是面向管理,从中抽取有价值信息的难度非常大;这些信息为了用户 分析和查询的需要,一般是设计成多维模型结构。通过e ,r l 过程对分散数据的集中、 清洗、转换成清洁、一致、全面的面向决策的数据。 4 方便企业各部门构筑数据中心 3 北京交通大学硕士学位论文 数据仓库是面向整个企业的数据应用,而针对各个部门的信息应用是构筑数 据中心。数据中心的数据是按部门从数据仓库中抽取,并进行加工处理。数据中 心构筑工具就是提供从数据仓库自动进行数据的抽出、变换功能,具有e t l 功能, 可以大幅提高运行效率。 数据经过e t l 工具的处理之后,进入到数据仓库中,对于数据仓库来讲,最显 著的一个特点就是:它以有利于进行进一步分析的方式将精化后的数据组织起来。 数据仓库为前端先进的分析工具、报表工具和数据挖掘工具提供了一个数据平台, 经过这些前端工具的处理后,真正有战略价值的信息产品就形成了。数据仓库也 可以将其中的一部分数据发布到和具体部门相关的数据市场( 数据集市) 中。 数据市场基本上是一个微型的数据仓库,用于解决部门内部的分析需求,数 据市场通常从数据仓库中抽取一部分可用的信息,再以某种方式对这部分信息进 行重组和修饰。前端的各种分析工具通过对数据市场中的数据进行一定的处理, 可以产生出和部门相关的信息产品。 1 4 q h s e 项目概述 改革开放以来,尤其是加入世界贸易组织之后,我国的石油企业的经营环境 发生了巨大的变化;一方面,国外资本大量涌入亚洲石油市场,加大了对我国石 油工业的威胁;另一方面,正式入世之后国内市场国际化进程加快,加大了国际 国内竞争,也使得石油企业要面对的经营环境更加复杂。这就要求中国石油企业 必须尽快转变战略模式,提高竞争力。 作为国内典型的石油企业之一,中国石油也正面临着这样一场国际和国内的 机遇和挑战,如何改造传统的企业管理方式、提高生产效率、降低生产成本逐渐 成为增强中国石油企业竞争力的必要途径。随着企业内自动化程度的提高和技术 的飞速进步,中国石油各专业公司、地区公司都逐渐建立起了各自的局域网应用。 比如天津大港下辖的各石油信息系统的数据源在位置上分布于全国各地、数据存 储的内容虽然会有相互重叠但存储方式和系统体系结构却各不相同,这些平台上 的数据几乎无法重用、交互和替换。多年来,各个信息系统中积累的原始数据量 飞速增长,越来越激烈的行业竞争使得信息系统之间信息共享越来越迫切。但是 仅仅通过现有的简单统计报表根本无法发挥这些数据的巨大作用,也无法为企业 带来真正的价值。 信息化建设是中国石油实现国际化经营战略的一项重要基础工作,中国石油 于2 0 0 0 年1 1 月完成了中国石油信息技术总体规划。总体规划清晰地描绘了中国 4 北京交通大学硕士学位论文 绪论 石油未来信息化建设的蓝图,同时提出了信息系统建设项目实施的优先次序和项 目解决方案。为了提升中国石油q h s e 相关业务的统一管理水平和全局决策能力, 股份公司总部需要构建一个统一的单一企业信息视图,这就需要尽可能充分地利 用各专业公司、地区公司分散的q h s e 数据信息,建立起一个统一的、面向主题的、 集成的、稳定的、基础的、随时间不断更新的石油行业的企业级数据仓库平台, 在集成所有可能的数据的基础上,完成基础的数据分析功能( 主要是0 l a j p 功能) , 然后在此平台上建设多维数据分析、开发标准报表和数据挖掘应用,从中提取出 与企业经营有关的信息和知识,为市场经营和决策人员制定业务发展和市场竞争 等策略提供科学、准确、及时和尽可能全面的依据。 q h s e ,是英文单词质量( q 岫l i 哆) 、健康( h e a l m ) 、安全( s a f 母) 、环保 ( e n v 岫e n t ) 的首字母缩写。是指在管理中一切以人为中心,以满足人对健康、 安全、环境保护的要求为主导,同时兼顾产品和项目的质量保证,是目前国际石 油界通行的管理体系。中国石油q h s e 报告系统实施项目工作范围涉及了中国石油 q h s e 八个专业业务信息领域,它们是质量、健康、安全、环保、计量、节能节水、 标准化、安保基金;涉及范围包括股份公司、专业公司、股份公司直属技术机构、 地区公司。 q h s e 报告系统的最终目标是:收集地区公司级q h s e 业务相关的大量基础 数据,基于先进的数据仓库数据建模分析技术,为中国石油股份公司、各专业公 司级领导和管理人员提供数据分析、展现工具,最终达到为o h s e 业务提供决策 支持的目标【4 】。 笔者参与了q h s e 设计与实施的全过程,本文将结合q h s e 具体业务说明e 1 儿 技术在数据仓库项目中的应用,在此基础上,研究了e t l 设计和实现的策略。 1 5论文组织 第一章为绪论。本章首先介绍了e t l 的背景与本文的研究意义。最后就本文的 结构进行了说明。还对本文工作与本文组织结构进行了概括。 第二章对数据仓库与e 1 l 技术进行了分析,并就在项目中运用到的技术和概念 作了一个简要介绍。 第三章介绍了q h s e 报告系统中e t l 的分析与设计,分析了e 1 1 在q h s e 报告系 统中的设计要素,简要介绍了实现方法。 第四章是对阴在q h s e 报告系统中的实现进行了研究,对一些实现给出了算 法或思想,并分析了系统的效率。 5 北京交通大学硕士学位论文 第五章是对本文的总结与展望。总结了本文的工作,并对未来的工作进行了 展望。 6 北京交通大学硕士学位论文 e t l 技术 2 1e t l 的概念 2e 1 l 技术 e 1 凡:为e x 咖瞎i b n s f o 瑚_ 1 o a d 的缩写,是数据抽取( e 锄m 、转换 ( t r 龇s f o m l ) 、装载( l d ) 的过程。 e t l 过程是一种数据集成,目标是将各个数据源的局部数据视图集成映射到数 据仓库的全局数据视图中,其特点是过程的复杂性和实现的困难性。首先数据仓 库的全局数据视图基本上独立于各个数据源的局部数据视图,e 1 几过程是一个包含 很多子过程的复杂过程,子过程包括:转换子过程要将数据规格化、统一化:集 成子过程要将不同数据源的数据进行合并;聚集子过程要将基本数据进行概括计 算;清理子过程要将数据源中地错误数据进行清除。其次数据源和数据仓库往往 采用不同类型的存储机制,每一种存储机制需要专业的数据访问接口来获取存储 数据,由于数据访问接口的不同,造成招个e 1 儿过程的实施比较困难。鉴于e t l 过 程的复杂性和实现的困难性,市场出现了一些e t l 工具来辅助数据仓库实施人员完 成e 1 l 过程的设计和实现。 e t l 工具最基本的功能包括:定义数据仓库对应的数据源中相关的数据; 从各个数据源中抽取数据;对数据源中抽取出来的数据进行标准化、格式化, 然后集成到一个统一的数据模式中;基于数据库规则或者事务规则对集成的数 据进行清理;将数据加载到数据仓库中。 e t l 工具中功能一般是根据功能产生的数据源访问信息自动调用相应的 数据访问接口来完成。功能和需要用户首先定义描述数据模式之间的映射转 换规则和清理规则,然后根据这些规则自动进行数据转换和数据清理。当前的e 1 l 工具中的数据转换清理规则定义都采用不同的描述方式,这些描述方式往往针对 于工具本身采用的物理实现机制,主要的物理实现机制包括:基于程序的实现机 制、基丁数据库的实现机制。基于程序的实现机制是使用通用的编程语言( c c + + 、 j a v a v b 等等) 编写用于转换清理的特定程序。多数专业的e t l 工具都是采用这种实 现机制。采用基于程序实现的e 工具一般使用类程序语言脚本来描述,这些脚本 规范可能是自定义的,也可能是直接使用己有的标准脚本语言,如v b s c r i p t 等。基 于数据库的实现机制是利用s q l 查询的模式重构能力来进行数据转换清理,s q l 杳询将己有的数据模式构建生成和口标数据模式一致的视图,将视图中的数据加 载的目标数据模式中完成数据转换。大多数数据库厂商提供的e 1 1 。工具都是采用这 种实现机制,比如m md b 2 的d b 2w i r e h s e 和s q ls e e r 的d t s 。采用基于数据 7 北京交通大学硕士学位论文 e 1 l ,技术 库实现的工具一般要求直接使用s o l 语句来描述数据转换。对于同个e ,r l 过程,使 用不同的e 1 m 工具需要产生不同格式的描述定义。这些不同格式的描述定义的本质 内容都是e 1 几过程中涉及到的数据模式和数据模式之间的映射转换关系 e 孔过程的逻辑描述是将e t l 过程进行抽象,只描述e 丁l 过程中涉及到的数据 模式和模式之间的映射转换关系,以及这些映射转换关系之问的相互联系。e 1 几 工具中的具体的e t l 过程描述定义都是e t l 过程逻辑描述的实例。e ,r l 过程的逻 辑描述中首先要求不用考虑具体的数据存储模型,采用个统一的数据模型来描述 不同数据源中的数据模式:其次要求不用考虑具体的数据转换执行机制,在统一 的数据模型上定义数据模式之间的转换映射关系,以及在转换映射中的数据清理 要求。e t l 过程的逻辑描述的优点包括:有利于e t l 工具之间的e t l 过程元数据共 享和转换;也有利于e 1 几设计人员的设计,只需要考虑数据模式的语义,不用考虑 模式的存储模型不同和e t l 过程的实际执行机制:有利于追踪数据仓库中数据需要 经过的转换流程,确定数据的来源,分析数据源中数据的状况。 2 1 1数据抽取 t 峨 n - h t r i c t l _ l 困l j 。舞。 图2 1e t l 流程 鱼目 数据抽取是从数据源获取符合需要的数据的过程。数据抽取过程会过滤掉数 据仓库中不需要的源数据字段,并进行格式和类型转换。数据抽取可以采用兀儿l 和p u s h 两种方式。p u s h 就是指有源系统按照双方定义的数据格式,将符合要求 的格式抽取出来,再通过f 1 1 p 或其它文件传送方式拷贝到e ,r l 系统中。n 几l 则是 有f r l 程序直接访问数据源,获取数据的方式【2 1 。 多种来源 很少有这样的一种数据仓库( 特别在企业级别上) ,不需要从多种来源中抽取数 据。在多数情况下,必须从多个系统中提取数据,利用多种平台上的多个数据存 储来创建的。如某银行的经营分析系统所涉及的业务系统几乎含盖其所有的系统, 8 北京交通大学硕士学位论文 e t l 技术 综合业务系统,信用卡系统,信贷管理系统,国际结算系统等等。 抽取模式 在数据仓库创建过程中一般有两种抽取的模式: 1 增量式装载 增量式装载仅仅记录那些自上次装载以后发生的变化或者新增的数据。通常 会根据源系统中的时间或某种指示标识来识别那些已经被改变的记录( 如新增,修 改,删除) 提取出来。 2 、全量更新 有时,在数据源中改变了记录,而未留下任何的识别标志,这时,就需要获 取相关的事实时,就需要提取整个表。 压缩,解压 当打算长距离传送大量数据时,数据压缩是提取流程中的重要功能。利用压 缩功能可以节约1 3 到l 2 甚至更多的传输时间。 加密与解密 当打算长距离传送大量数据时,数据的传输安全也是提取流程中的重要功能。 在传输前,对数据或数据文件进行适当的加密,是非常有必要的。 2 1 2 数据加载 加载经转换和汇总的数据到目标数据仓库中,可采用s q l 语句或批量加载。数 据加载策略包括加载周期和数据追加策略。装载过程中应该避免生成日志,利用 成批的转载功能( 比如,创建索引和聚集等) 。 2 1 3数据转换 数据转换( t r 觚s f b r m ) 按照数据仓库的数据结构,对源系统每个记录进行转换, 转换以后就可写入数据仓库。数据的转换过程不仅仅是数据格式的改变,还意味 着要准备运行数据,转换其结构和内容,以便集成到数据仓库中去。 集成:集成是将业务数据从一个或多个源中取出,并逐字段地将数据映射 到数据仓库上新的数据结构,结合成一个新的实体。集成包括生成代理键,将各 种键从一个系统映射到另一个系统,并将代码映射到完全描述。还包括负责维护 转换过程中的主键检查。 9 北京交通大学硕士学位论文 e t l 技术 渐变维度维护:跟踪维表列在一段时间的变化,同时提供对数据最新版 本的直接访问。识别己经改变的值和创建代理键是一个棘手的问题。一共分三种 类型s c d ls c d 2 ,s c d 3 。不同的维度策略,e ,i l 的处理过程是不一样的。 参照完整性检查:是指某个表中的数据与另外一个表的数据相匹配。参 照完整性检查可以在数据库层面上管理,但这样做会降低灵活性。所以,作为转 换处理的一部分,它只是不允许装载数据。 反规范化和规范化:将某个层次的独立表反规范化成为某个维度,这是 一种标准的数据仓库转换处理。另外,有些反规范化发生在事实表的处理中。例 如,某个财务模型中有一个数量类型的维度,“实际”,“预算”,“预测”等值,根 据这些记录包含的细节级别,将该列透视成带有三个销售额的列( 每列针对一种数 值类型) 的单行时,可能更有意义。 数据类型转换:包括将某种数据类型( 或格式) 转换到另外一种数据类型 ( 或格式) ,如m m 大型机字符集e b c d i c 转换成a s c 码格式,从某个数据库将日期、 数字、字符表示形式转换到另一个数据库中。 计算,导出,分配:这些都是根据在需求处理过程中确定的业务法则而 进行的各种转换。包括字符串操作,日期,时间的算术运算、条件语句以及基本 的计算等功能。 数据聚集:对数据按照不同分组进行汇总等统计计算。对于事实表中的 度量字段,他们通常是通过数据源一个或多个字段运用聚集函数锝来的,这些聚 集函数在s q l 标准中,包括:啪,c o 吼t ,a v g ,m i n m a x 等等。 空值:因为许多传统系统中无法表示空值,程序员就采取一些不可能发 生的值对空值进行填空,从源系统中提取数据时,这些空值的替代值看上去与合 法值一样,会使分析人员误解:所以必须识别这些空值的替代值,并制定出在数据 库中处理空值的规则。 2 1 4e t l 的考虑 e t l 功能很具有挑战性,是因为源系统的性质。在e t l 中的大部分挑战都因 为源操作型系统的悬殊所造成的。所以我们必须仔细考虑下面列表中的每一项, 与实际环境联系起来,以便找到合适的解决方案【1 2 】。 源系统彼此悬殊,种类多样。 通常需要应付多个平台上的不同操作系统。 许多源系统都是陈旧的应用系统采用的是过时的技术。 1 0 北京交通大学硕士学位论文 f r l 技术 通常,举止不断变化的历史数据不会被保存在操作型系统中。而历史信 息对于数据仓库又至关重要。 很多旧系统中的数据质量各不相同,需要花很多时间进行处理。 源系统的结构随着时间会发生变化,因为新的商业条件不断出现。e 1 l 功能也必须相应的调整。 源系统之间普遍缺乏一致性。在不同的源系统中,相同的数据可能会用 不同的形式来代表。 即使在不同的源系统中已经发现不一致的数据,也缺乏解决方法,这使 不一致性问题更严重。 大多数源系统的数据格式和类型对用户没有实际含义,而且很多展现方 法都是模糊而晦涩的。 在我们探讨具体e t l 过程之前,让我们先回顾下功能步骤。对于最初的大 量刷新和追加的数据装载来说,它们的顺序应该是这样的:追加的变化的触发, 更新和增量装载的过滤,数据抽取、转换、整合、清洗,以及应用到数据仓库中 去。 事实表的e t l 准备从源到目标数据元素的数据映像关系 决定所有的数据源,包括内部和外部 决定数据仓库中需要的所有的目标数据 圈2 1e r l 处理过程的主要步骤 下面列出了组成整个e t l 过程的工作和任务的类型。这个列表给出了e t l 过 程涉及的各方面。r 7 】 将几个源数据结构组合成数据仓库目标数据库中的行。 将一个源数据结构分成若于个结构后放入目标数据库中的若干行。 从源系统数据字典和目录中读取数据。 从多种文件结构中读取数据,包括平面文件、索引文件( v s j w ) 、旧系统数 据库( 分等级的,网络化的) 。 装载大量原子事实表的细节。 为大量聚集表或事实表做聚集。 北京交通大学硕士学位论文 e t l 技术 性) 。 将数据从源系统平台上的一种格式转换成目标平台上的另一个格式。 得到输入字段的目标值( 例如:从出生日期得到年龄) 。 将晦涩的数值改变成对用户有意义的值( 例如:用将l 和2 转变成男性和女 2 1 5e t l 与e u 根据转换过程顺序的不同,e 1 几有另一种实现过程e l t 。所谓e l t ,也就是 数据抽取出来以后直接加载到数据仓库中,然后再进行转换。e u 的优点是数据 可以直接在数据库中操作,响应速度快,但是先进行加载带来的缺点就是数据质 量的问题。所以在q h s e 开发过程中,我们实施e 1 几进行数据转换。嗍 2 2元数据与e 1 l 2 2 1元数据定义 元数据是关于数据的数据。例如,我们想在图书馆里找一本书,这本书对应 的编号就可以看作这本书的元数据。在数据仓库系统中,元数据可以帮助数据仓 库管理员和数据仓库的开发人员非常方便地找到他们所关心的数据。在数据仓库 中元数据处于一个非常重要的地位,是整个数据仓库运行和维护的中心,它对数 据仓库的设计开发维护和管理,对数据的组织信息的查询和结果的理解都有重大 作用。 2 2 2元数据在e t l 中的作用 在数据抽取过程中,如果没有相应的映射( m a p ) 规则,e t l 就无法决定从数据 源中抽取哪些数据,当然,要顺利地抽取到正确的数据,还需要其它一些元数据 的辅助,我们把和数据抽取相关的元数据称为抽取元数据。 在数据转换过程,要完成数据格式从源数据存储格式到目标数据存储( 数据仓 库) 格式的转换,就需要关于源数据存储格式和目标数据存储格式的信息,而且, 还需要相应的转换规则方面的元数据,从而实现数据存储格式按照相应的转换规 北京交通大学硕士学位论文 f r l 技术 则完成转换。同样,我们把和数据转换相关的元数据称为转换元数据。 在数据加载过程中,我们要把转换后的数据加载到数据仓库中,同样需要映 射规则方面的元数据。不然,我们没有办法知道应该将数据加载到什么地方,我 们把和加载有关的元数据称为加载元数据。 由此可见,e t l 过程的自始至终都需要元数据的指导,需要在元数据的控制 下才能顺利完成。可以说,元数据就是e 1 阻的“控制中心”闭。 2 3 札技术在e t l 中的应用 l 是一种标识语言。一个咀。元素是由开始标签、结束标签以及标签之 间的数据构成的。开始和结束标签用来描述标签之间的数据。标签之间的数据被 认为是元素的值。它是一个精简的s g m l ,将s g m l 的丰富功能与h n 咀。的易用 性结合到w 的的应用中。它不再是固定的标记,而是允许定义数量不限的标记来 描述文档中的资料,允许嵌套的信息结构。) 几逐渐成为现今数据交换的一种标 准格式。 2 3 1 ) a 讯。概念 可扩展标记语言( e 拍s i b l em 砌c i l pl 趾g i l a g e ,订l ) 提供了一种标记内容 的方式,可以添加关于数据用途的信息。信息使用v 几存储之后,称为解析器 的应用程序就能够可靠地提取相关信息,并根据不同的需要处理。 ) 丑沮。可用于各种不同的应用程序,但其实质是:) a 儿是一种表示数据的方 式。有时候数据是为数据库准备的,有些时候则是供人阅读的。与这两方面应用 相关的技术,比如数据验证和l 转换也已经随着) 几自身一起发展起来 【1 4 1 。 l 包括验证或者确认的能力、文档结构和文档( 在某种意义上的) 内容。 验证文档有助于防止数据与期望具有特定结构的应用程序进行交互时出现问题, 当咀,与非v i l 的遗留系统交互时这一点尤其有用。最初的咀。1 o 推荐 标准包括对文档类型定义( d o 咖e m 聊ed e f m i t i o m ,d t d ) 的支持,d t d 提供 了一些验证能力。【1 3 】w 3 c 咀,s c h e m 勰扩展了这种功能,并提供了一种更加类 似咀。的语法。 舭元素 北京交通大学硕士学位论文 e 1 几技术 ) m 几是一种标识语言,一组用来创建描述数据的语法标签的规则集。一个 咀。元素是由开始标签、结束标签以及标签之间的数据构成的。开始和结束标签 用来描述标签之间的数据。标签之间的数据被认为是元素的值。例如,在下面一 个沮。元素的例子中,元素”d i r c c t 凹”的值是”e dw o o d f 。 e dw 0 0 d 训j r c c t o f 元素名( ”d c t o r ”) 允许你把”e dw o o d ”这个值标出来,这样你就能把这些数据同 另外类似的数据区分开来。例如,有可能另一个元素的值也是”e dw o o d f 。 由于每个元素都有不同的标签名,所以你能很容易把上面两个元素的值区别开来。 如果从语义上没有办法把数据标出来,两个有同样值的元素会混淆起来。 属性 一个元素可以包含一个或多个属性,属性是一个由“一隔开的名称值,如: c i t yz 皿。= ”0 1 0 8 5 w e s t f i e l d 叫c n y 在上面的例子中,z 玎p = ”0 1 0 8 5 “是元素c i t y 的一个属性。属性用来给一个元素添 加附加的、次要的信息,通常是元信息,属性还可以使用缺省值,而元素却不能 这样做。元素的每一个属性可以以任意顺序进行说明,但仅能说明一次。 此外,) m 几标签对大小写敏感,因此以下这三个是不同的元素。 c 姆 c i f p 通过上面对札文件的基本组成的分析,我们发现,儿文件不仅包括了数 据,还包括了描述数据的语义。基于这些语义,可以更方便的对整个仉文件进 行分析。也就是因为如此,) m 也对于提取数据文件中的信息提供了更有利的帮助。 2 3 2 x p a m 使用x p a l h 对) 几文档进行搜索、定位。 之所以要引入) ( p a m 的概念,目的就是为了在匹配叽文档结构树时能够准确 地找到某一个节点元素。可以把x p a t h 比作文件管理路径:通过文件管理路径,可 以按照一定的规则查找到所需要的文件;同样,依据 a m 所制定的规则,也可以 很方便地找到儿结构文档树中的任何一个节点。 在介绍x p a n l 的匹配规则之前,我们先来看一些有关,甜i 的基本概念。首 先要说的是x p a t h 中的数据类型,v 几文档的特有产物节点集( n o d e s e t ) , 节点集是通过路径匹配返回的符合条件的一组节点的集合。其它类型的数据不能 1 4 北京交通大学硕士学位论文 e t l 技术 转换为节点集。 另外,由于柚包含的是对文档结构树的一系列操作,因此搞清楚) a t h 节点类型也是很必要的。由于v 儿文档的逻辑结构,一个v 几文件可以包含元 素、c d a l a 、注释、处理指令等逻辑要素,其中元素还可以包含属性,并可以利 用属性来定义命名空间。相应地,在) a ,a t h 中,将节点划分为七种节点类型:根 节点( r 0 0 tn o d e ) 、元素节点( e l e m e mn o d e s ) 、文本节点( t e 戚n o d 船) 、属 性节点( m i b u t cn o d c s ) 、命名空间节点( n 锄e s p a n o d e s ) 、处理指令节点 ( p m c e s s i n 叠b 吲咖c t i n o d c s ) 、注释节点( c o 蛐e n tn o d e s ) 现在,来实现一些利用x p a i h 使) 0 v 儿中节点匹配的基本方法。 路径匹配 路径匹配与文件路径的表示相仿。 位置匹配 位置匹配对于每一个元素,它的各个子元素是有序的。 属性及属性值 在a t h 中可以利用属性及属性值来匹配元素,要注意的是,元素的属性名 前要有” ”前缀。 亲属关系匹配 ) 似l 文档可归结为树型结构,因此任何一个节点都不是孤立的。通常我们把 节点之间的归属关系归结为一种亲属关系,如父亲、孩子、祖先、后代、兄弟等 等。在对元素进行匹配时,同样可以用到这些概念。条件匹配就是利用一些函数 的运算结果的布尔值来匹配符合条件的节点。常用于条件匹配的函数有四大类: 节点函数、字符串函数、数值函数、布尔函数。例如l a g t o 、p o s “i 蚰o 等等。这些 功能函数可以帮助我们精确寻找需要的节点。这些功能只是,a 也语法中的一部 分,还有大量的功能函数没有介绍,而且目前x p a t h 的语法仍然在不断发展中。 通过这些函数我们可以实现更加复杂的查询和操作。以上这些匹配方法中,用得 最多的还要数路径匹配。依靠给出相对于当前路径的子路径来定位节点的。 北京交通大学硕士学位论文q h s e 报告系统e 1 l 的分析与设计 3 q h s e 报告系统e 1 l 的分析与设计 3 1 e t l 在q h s e 报告系统中的作用 数据仓库系统是在原有业务系统的基础上发展而来的。因此,e 1 几中存储的数 据来自于事务处理的业务系统或者其他外部数据源。 除股份公司统一使用的事故系统、节能节水系统等之外,其它的基础数据来 源可能只是手工的电子记录,没有对应的自动化管理系统;即便是有单位自行开 发的信息系统,但是由于这些系统开发的时期、背景、应用要求以及开发人员的 设计思想各不相同等客观条件,这些数据源缺少统一的标准,在数据结构、存储 方式等方面有着很大的异构性,各个系统之间不能互相进行信息交流,也无法相 互替代。如何从所有传统业务系统和工作环境中采集数据,如何处理并导入这些 来源不同、格式各异的业务基础数据并对其进行高效的转换,成为系统实施和数 据整合面临的一个挑战。 报告系统各业务管理领域的数据源分布在各个子系统和节点上,利用e t l 将各 单位业务系统中的数据通过某种方式传输到u 1 慨或n t 服务器上,进而进行抽取、 清洗和转化的处理工作,最后加载到数据仓库中。因为现在数据源众多,保证数 据的一致性、真正理解数据的业务含义、并合理运用数据实现跨越多平台多系统 的数据整合,最大可能地提高数据质量、迎合业务需求的不断变化与增长,是e t l 技术处理的关键。 o h s e 报告系统的数据e t l 模块主要实现的功能有: 为不同的业务数据源提供统一的数据接口规范,用于从各业务系统或工作 环境中获取包含统计报表和多维分析信息的初始数据文件; 对初始数据文件进行校验,检查其中包含的数据是否符合数据仓库系统要 求的业务标准和数据格式的合法性; 对合法性校验未通过的文件或数据行,生成拒绝文件,并生成相应的日志 记录: 将合法性校验通过的文件或数据行按照预定义的方式加载到数据仓库数 据表中。 图3 1 中所示是q h s e 报告系统数据e t l 模块的工作流程示意: 1 6 j ! 塞窒望奎兰堡主兰垡堡茎 q h s e 报告系统e t l 的分析与设计 图3 一iq h s e 报告系统数据e t l 工作流程图 3 2e t l 的实现一d e c i s i o ns 骶锄 q h s e 报告系统数据仓库的构建过程中,利用c o 印o s 系列工具d e c i s i s 仃e 锄 ( 简称d s ) 所提供的功能进行数据的转换、清洗和加载。 图3 - 2 d i 3 i 蛆s 咖过程图 从业务系统中得到各种各样的数据源,d s 读取这些数据后,根据在它内部定 义的这些共享维度,生成多个统一一致的并列的数据集市,这就是一个完整的肌 过程,如图3 _ 2 。 d e c i s i s 订e 锄是c o 鲫o s 公司的集成产品,是目前比较流行的e t l ( 抽取, 转换和加载) 软件之一,它支持源数据的抽取、清洗、解码、转换、集成、聚集 1 7 北京交通大学硕士学位论文 q h s e 报告系统e ,r l 的分析与设计 和目标数据库的装载。可以实现从不同的数据源中抽取整合数据,并提供整个企 业的协调式业务智能( b i ) 。 d i s i s 仃e 锄是一种维度框架结构的e 1 几工具,以维度模型为中心,创建 维度数据集市,设计人员和核心引擎依据事实和维度传输进行工作,而不是依据 任意的表进行数据移动。这是d s 与其他e t l 工具的最主要区别。以维度模型为 中心的优点在于: 可以根据单位、时间、产品等特定的业务维度构造数据并验证其完整性, 支持业务用户的思考方式; 所有数据转换作业均使用相同的维度框架结构,可以在企业数据仓库范围

温馨提示

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

评论

0/150

提交评论