面向数据集成分布式ETL研究与设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向数据集成分布式ETL研究与设计

面向数据集成分布式ETL研究与设计   摘要:针对数据分析融合平台建设中数据集成开发效率低、数据集成慢和数据网络分散等问题,提出跨网络传输的分布式ETL框架设计。通过对主流ETL工具进行分析,总结了ETL的工作原理及过程,设计了一种基于消息中间件面向数据集成的分布式ETL框架。使用该框架处理数据集成任务时,提交数据集成过程的描述文件进行数据处理。基于元模型驱动和面向切面设计思想,设计数据任务执行引擎和控制模型。基于该框架开发的工具可使数据开发人员从大量重复的数据操作中解脱出来,将更多精力放在数据的逻辑处理上。   关键词关键词:数据集成;分布式; ETL;消息中间件   DOIDOI:10.11907/rjdk.171780   中图分类号:TP391   文献标识码:A文章编号文章编号2017)011019703   0引言   ETL是构建数据仓库的重要工具,构建数据仓库60%左右的工作量由ETL工具完成。ETL工具从一个或多个业务数据库中抽取数据,经过清洗转换,然后加载到数据仓库中。随着信息化建设的深入,企业和政府深层次利用数据进行数据挖掘和信息共享成为急需解决的问题。一般数据多采用上下级代理方式,数据分散在各地方和部门,这种数据集成需要跨网络传输。如何从网络分布的异构数据源中快速构建数据仓库,是数据集成面临的关键问题。   相对于传统的ETL,数据集成领域的ETL需要解决复杂的网络环境、集成效率、性能需求等问题。本文采用消息中间件作为数据通信总线,屏蔽网络底层通信协议和网络环境差异。使用基于元数据架构的ETL作为分布式ETL数据处理节点,设计了分布ETL工具并实现了子节点。   1数据集成研究现状   数据集成是指把不同来源、格式、特点及性质的数据进行逻辑或物理上的集中,从而为企业提供一个灵活、可扩展的数据视图,数据集成方法分为模式集成和数据复制[3]。模式集成方法将各数据源的局部视图转换成全局模式;数据复制方法是在保持数据源数据一致性、提高信息共享利用效率的基础上,将各数据源的数据复制到一个公共数据源上。文献[1]提出一种基于ETL的数据集成工具和ETL过程模型,开发面向数据集成的ETL系统Datalntegartor。   ETL的过程研究集中在数据抽取和数据转换上。文献[2]从提取、转换、装载3个不同角度详细阐述了ETL的核心内容,并介绍了3个不同流程中涉及的关键技术。文献[3]介绍了几种不同的数据提取方法,对各种方法进行了详细的比较,并对每种提取方法适应的环境进行了总结。文献[4]将数据抽取分为全量抽取和增量抽取,并将ETL的过程区分为全量ETL和增量ETL过程。   在数据传输方面,文献[5]、[6]、[7]提出使用消息中间件进行数据传输。文献[5]通过触发器捕获变化的数据,并将数据建成xml文档,使用消息中间件OpenJMS进行数据传递。文献[6]提出采用xml作为中间数据格式实现异构数据源的统一转换,利用消息的异步处理机制完成应用系统间的数据交换和传输。文献[7]基于ActiveMQ设计了一种轻量级的企业服务总线L-ESB,总线通过消息队列传递消息和数据。   2ETL过程描述   ETL过程指数据抽取、转换、加载过程。目前对ETL过程的描述有两种观点:①数据仓库是基于数据源建立的物化视图,而ETL过程是用于维护物化视图的过程;②数据清理需要指定数据处理动作,应该使用工作流(workflow)来描述ETL过程。本文采用第二种思想,将ETL过程视为一种数据处理流程。   2.1ETL过程形式化描述   对数据操作过程可以抽象成有向的DGA图,节点表示数据操作边,代表操作的先后次序,可进行ETL子过程的嵌套。ETL过程描述是对DGA图描述,是ETL工具进行数据处理的执行计划。ETL过程的一般定义如下:   定义1ETL={job1,job2…,jobk},它由多个相互独立的作业job组成。   定义2job=(Tasks,Rs)(i=1,2,3,…,k),它由多个相互关联的Task组成,其中Tasks={Task1,Task2…,Taskn},表示每个作业有多个ETL任务组成;Rs={R1,R2…,Rn}Ri={P(Taski,Taskj)|j,i?(1,2,…n),j≠i}表示ETL任务之间的先后顺序关系。   定义3Task与job定义类似,Task=(Os,Rs),Os表示数据操作集合,Rs表示数据操作之间的约束关系。   数据操作有以下3种:   (1)抽取操作:不同的抽取操作代表不同的数据源,抽取操作根据数据源的描述信息进行数据读取,以便为随后的步骤提供数据。不同数据源的读取操作不同,这部分是ETL数据集成的主要障碍。   (2)转换

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档