基于ETL 技术在ODS 系统中的应用.doc_第1页
基于ETL 技术在ODS 系统中的应用.doc_第2页
基于ETL 技术在ODS 系统中的应用.doc_第3页
基于ETL 技术在ODS 系统中的应用.doc_第4页
基于ETL 技术在ODS 系统中的应用.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

文库下载 免费文档下载/本文档下载自文库下载网,内容可能不完整,您可以点击以下网址继续阅读或下载:/doc/b1f637f1770bf78a652954d9.html基于ETL技术在ODS系统中的应用Computer与技术电脑知识与技术ComputerKnowledgeKnowledgeandandTechnologyTechnology电脑知识Vol.5,No.26,September2009,pp.7330-7332ISSN1009-3044第5卷第26期(2009年9月)Tel: 86-551-56909635690964基于ETL技术在ODS系统中的应用陈硕(福州职业技术学院,福建福州350108)摘要:当今,越来越多的企业正在构建ODS运营数据仓储系统来满足其战略决策需要。利用ETL工具可以对异构数据源中的业务数据抽取和转换,并将其装载到ODS中,为基于企业统一数据之上的决策分析应用提供高质量的数据。因此,搭建一个高效的ETL平台,在整个ODS系统中具有非常重要的意义。关键词:ODS;ETL中图分类号:TP311文献标识码:A文章编号:1009-3044(2009)26-7330-03ETLTechnologyintheODS-basedSystemCHENShuo(FuzhouVocationalandTechnicalCollege,Fuzhou350108,China)Abstract:Nowadays,moreandmorecompaniesarebuildingaODSoperationaldatastoragesystemtomeettheneedsofitsstrategicdeci-sion-making.ETLtoolscanmakeuseofheterogeneousdatasourcesinthedataextractionandconversionoperations,anditsloadtotheODS,thedatabasedontheenterprise,theuniformapplicationofdecisionanalysistoprovidehigh-qualitydata.Therefore,tobuildanef-ficientETLplatform,intheODSsy/doc/b1f637f1770bf78a652954d9.htmlstemhasveryimportantsignificance.Keywords:ODS;ETL近年来,为了适应电信业务的多元发展,各电信运营商建设了大量的业务系统,将原先集中的几套大系统分拆成了不同专业、不同用户的独立系统,但是随之而来问题也出现了,就是人们突然发觉原先相对简单的数据变得很复杂。它们分散分布在不同的业务系统、不同的网络硬件平台上,这时候电信企业的业务运营就需要一个先进、合理的IT系统架构进行支撑,电信ODS运营数据仓储系统孕育而生。为了保证获得高质量的数据,灵活运用ETL技术,可以对异构数据源中的业务数据抽取和转换,然后经过对各类业务数据的清理、标准化和汇总的过程,将其装载到ODS中,为基于企业统一数据之上的决策分析应用提供保证。所以ETL模块是电信ODS运营数据仓储系统中的重要一环。本文就是以电信ODS系统为背景,着重介绍其中ETL模块在ODS系统中的应用。1ETL技术介绍1.1ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载)过程也就是数据集成的过程,而ETL工具也叫做数据集成平台。和ETL过程关系最为紧密的子过程有:数据迁移、数据管理、数据清洗、数据同步和数据集成。在一个组织中进行ETL过程的最主要目的是从源事务处理系统中迁移和转换数据来为数据仓储服务以最终形成数据集市。1.2ETL平台特点1)强大的功能适配器:数据库、文本等;清洗能力:空值、规则配置、异常数据检查等;灵活的转换处理:字段级映射、自定义脚本转换;多样的数据更新方式:追加(insert)、复制(copy)、更新(update/merge)、删除(delete)。2)统一元数据,易于维护公用配置:数据库、数据库用户、表空间等数据字典配置:源表、目标表、表索引、表关系等ETL模块配置:转换目标表和转换源表配置、表更/doc/b1f637f1770bf78a652954d9.html新方式配置、数据转换、清洗规则配置关联任务调度3)无需编码或少量编码,开发效率高1.3ETL实现目标1)ETL模块实现数据库之间或者数据库内的数据转换。可以应用于数据抽取、数据清洗、数据整理、数据统计等不同应用。2)ETL应支持异构数据库间的数据转换,通过接口适配器把外部异构数据源导入ODS数据库,再通过ETL模块实现数据转收稿日期:2009-06-16作者简介:陈硕(1982-),男,福州职业技术学院计算机系,助理实验师,主要从事计算机数据库方面的研究和教学工作。:闻翔军第5卷第26期换。(2009年9月)ComputerKnowledgeandTechnology电脑知识与技术3)ETL模块强调数据转换可配置、可追溯,支持数据复杂计算、类型转换、数据清洗等,实现数据的高效、精确的转换。2电信ODS系统的总体设计概述ODS(OperationalDataStore,操作型数据存储)运营数据仓储系统在企业信息化系统中的定位在于,数据整合(承载客户统一视图)、数据共享、跨系统数据应用和数据质量检查;随着CRM、计费、服务开通、资源等核心IT系统建设的逐步开展,尤其是CRM、计费省集中系统的逐步到位以及客户品牌统领市场经营工作对IT固化生产流程的迫切要求,使得ODS成为承载企业数据模型及数据标准,并据此整合各系统数据以实现企业跨系统数据共享,提供跨系统数据应用,提升数据质量的最好承载平台。电信ODS系统遵循CTG-MBOSS功能层次的划分标准,从系统服务对象和支撑对象的角度,将ODS划分为五大功能域:数据整合域、数据共享域、数据应用域、数据质量管理域、公共管理域。基于ODS五大功能域,在ODS上实现数据门户与营销支撑。3ODS系统中ETL模块的实现3.1ETL模块功能由图1可知,/doc/b1f637f1770bf78a652954d9.htmlETL模块属于数据整合域中的一块,它的主要功能是实现从源系统中抽取数据进行整合,根据不同的数据源,匹配预先定义的规则流程,在任务引擎的调度下,按照定义好的流程经过数据抽取、数据整理、数据转换、数据加载几个关键环节最终存储到ODS系统中。图13.2使用工具和方法ETL模块的实现有很多种方法,其中常用的有两种:第一种是借助借助专用的ETL工具,可定制数据处理流程,简化数据开发,缩短ETL方案实施周期,但其处理效率较低。常用的ETL工具有Oracle公司的WarehouseBuilder软件,IBM公司的WarehouseManager软件,Informatica软件等。第二种是自行开发ETL工具方式实现;本系统采用第二种方法,基于ORACLE数据库平台的PL/SQL语言开发而成,这样可以最大限度的发挥ORACLE数据库的性能效用,并且相比商业ETL工具平台更加灵活、实用。3.3ETL模块总体设计与应用ETL模块,由若干功能单一的数据处理单元组成,各处理单元根据不同ETL过程的需要进行组合和连接,形成数据处理的流水线,完成ETL过程。并通过统一的任务调度引擎进行复杂的多进程完成异步数据抽取、转换、清洗、加载的过程。3.3.1任务调度单元1)功能:用于描述关系,控制任务运行,任务运行状态监控等。2)特点:实现接口区、中间表、集市汇总事实表之间的统一调度;支持多进程同步处理;支持相关JOB之间的依赖顺序关系的控制,支持多对多的关系;建立错误自动处理机制;支持监控模块的任务调度;实现数据抽取、过滤、转换;实现取数自动化;实现周期计算自动化。3)任务调度与ETL之间关系:任务调度控制ETL转换链和ETL转换单元的运行,并描述ETL运行情况、结果等信息/doc/b1f637f1770bf78a652954d9.html。3.3.2数据转换单元实现数据库之间或者数据库内的数据转换。可以应用于数据抽取、数据清洗、数据整理、数据统计等不同应用。数据源为外部文件的,首先通过接口程序把外部文件数据导入数据库表,再通过ETL模块实现数据转换。ETL模块强调数据转换可配置、可追溯,支持数据复杂计算,实现数据的高效转换。转换单元是ETL可执行的最小单位也是整个ETL过程最核心的部分。转换单元也称为ETL转换。它是在目标表和数据源之间建立的一个桥梁,用于定义数据转换过程规则、数据计算公式等信息。ETL转换的最根本目的就是生成ETL转换脚本。ETL转换单元的执行是ETL模块的核心。1)ETL转换类型字段映射和直接SQL两种。字段映射:依赖数据配置生成ETL转换脚本。直接SQL:根据用户自定义SQL生成转换脚本。2)数据更新模式ETL转换的更新模式指明了ETL转换对目标表进行何种数据更新操作。更新模式有以下几种:追加记录:在将数据源的数据全部插入到目标表中。复制(先清空再复制):首先清空目标表的所有数据,并将源数据全部插入到目标表中。复制模式与追加的区别:复制模式允许在插入数据前进行额外处理。更新相同的记录:在目标表中,查找到与数据源中对应目标表的主键的数据,与目标表的主键数据相同记录,用数据源的记录替换目标表中找到的记录。图27331ComputerKnowledgeandTechnology电脑知识与技术第5卷第26期(2009年9月)追加更新:在目标表中,如果找到与数据源相同的记录,则用数据源的记录更新当前记录,如果没有找到,则插入到目标表中。删除相同的记录:在目标表中,查找到与数据源中对应目标表的主键的数据,与目标表的主键数据相同记录,则删除此记录。以上不同的更新模式有不同应用场景。3.3.3周期计算单元1)功能:用于计算任务取数周期,支持E/doc/b1f637f1770bf78a652954d9.htmlTL转换单元、统一层、集市层表等更新对象的周期记录、计算和控制;2)ODS系统中周期计算的几种情况:CRM档案数据每半小时更新一次,每次取上次未取的数据进来。它的特点是连续滚动、基本不重叠(目前为了考虑主机的系统时间不一致,回取2分钟)统一层取数,每天根据存储层的日期字段,获取上次未获取的数据,考虑多表关联需要的数据同步要求,开始时间统一为凌晨0点,以保证取到完整的数据。集市层中间表取数,类似于统一层取数,集市层维表以及部分实例小表,每日全量取数,则开始周期、结束周期为0。集市层按天存储汇总表,当前周期(实时为当天,非实时为昨天)作为结束周期,下次周期作为开始周期(如下次周期多过结束周期,取结束周期),成功运行后计算出下次周期(实时为明天,非实时为当天)给配置表。开始周期根据实际获取的数据决定,如每3小时获取增量订单数据,根据创建时间和竣工时间来判断最小的统计日,作为开始周期,当前周期(当天)作为结束周期,提取报表统计数据。3)增量取数存在的情况:按小时或实时增量;连续滚动:每次运行取最后周期时间点作为开始时间,当前系统时间作为结束时间,取数成功则将结束时间记录在成功时间点。整点分段:每次运行取下个周期作为开始时间,当前周期作为结束时间,取数成功则将当前周期记录为最后成功周期,并计算出下个周期写入配置表。按天;每次运行取上次成功日1天的凌晨0秒,作为开始时间,当前周期日的最后一秒作为结束时间。取数成功则将当前周期日记录在成功时间点。3.3.4开关表单元1)ODS机器上运行系统状态监控函数,按设定周期扫描开关状态表和任务调度表,对于“开关状态表”中“ACTIVE_JOB”字段(是否激活任务)配置为Y的任务进行监控。如果对象配置为被动模式,当监控扫描到有新数据时,自动更新任务调度中对应的任务的状态为等待运行,使之通过任务调度系统开始运行后续任务。如果对象配置为主动模式,当监控扫描到任务调度中对应的任/doc/b1f637f1770bf78a652954d9.html务的状态为10G,则打开开关,对外围系统开放数据共享。2)给外围提供系统状态监控函数过程调用,当外围给ODS系统送数结束后用这个过程打开开关,ODS开关监控将自动扫描开关状态,并根据以上逻辑进行处理。3)给外围提供系统状态监控函数过程调用,使外围系统了解ODS目前相应的开关状态。4结束语随着企业信息化建设的迅速发展,ODS作为企业运营数据共享平台,从客户的需求和利益出发,运用最新技术和概念,收敛企业各业务系统中的运营数据,按照企业数据模型进行数据整合,提供运营数据共享,支撑跨系统数据的应用,提升数据质量。而本文介绍的ETL技术作为ODS的核心技术,能够准实时或实时地从各业务系统中抽取企业运营数据,进行转换、加载、映射等工作形成ODS的核心数据,为用户提供企业级的统一数据视图。所以,ETL技术是电信ODS运营数据仓储系统项目数据分析成败的关键。参考文献:1234黄少华,陈翠娥.SQL语法范例大全(SQLServe

温馨提示

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

评论

0/150

提交评论