- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据抽取及交换工具的设计与实现
数据抽取及交换工具的设计与实现
摘要:本文研究了ETL相关技术,并针对出版行业的现状和应用需求,提出了面向出版行业的数据抽取及交换工具设计方案和实现方法,通过.NET开发工具和C#开发语言开发了一套可灵活定义的工具,在多家出版单位进行了应用,取得了良好的效果。
中国论文网 /8/view-7184416.htm
关键词:数据抽取;数据交换;数字出版;商业智能
中图分类号:TP311.13
文献标识码:A
DOI: 10.3969/j.issn.1003-6970.2015.08.008
0 引言
出版商业智能系统是面向出版单位的综合数据分析系统,该系统基于出版企业各业务系统的数据进行综合分析,另一方面,出版企业各业务系统之间也需要进行数据交换。由于出版企业采用不同公司提供的业务系统,各业务系统采用不同的数据库,应用较广泛的有SQL Server、Oracle,少量有采用MySQL等其它类型数据库,另外还有许多的外部数据以Excel、TXT、XML等文件方式存储,本文针对出版行业的现状和应用需求,研究了通用的商业智能系统ETL工具的数据抽取、转换和加载相关技术,提出了面向出版行业的数据抽取及交换工具设计方案和实现方法,通过.NET开发工具和C#开发语言开发了一套工具。
1 ETL技术综述
ETL即数据抽取、转换清洗、加载的过程,能够按照统一的规则集成并提高数据的价值,是数据仓库获取高质量数据的关键环节,是从数据源获取数据并对数据进行清洗转换最终加载到数据仓库的过程,是数据由数据源系统向目标数据源加载的主要方法。ETL工具从本质上而言是一种数据转换工具,一般ETL工具还会设计任务管理和调度引擎。
1.1 数据抽取
数据抽取是按业务需求从源数据从数据源系统抽取数据仓库系统所需的数据[错误!未定义书签。],ETL处理的数据源除了关系数据库外,还可能是文档,例如TXT、Excel、XML等文件数据,这要求抽取工具采用统一的数据接口,既满足从数据库抽取数据的需求,也可以满足从文文本件抽取的需求。对于不同数据源、不同数据量的源数据以及不同性能要求的业务系统,采用的实现方式不同。一般的抽取方式包括全量抽取、增量抽取、全表比对、日志比较等,为保证抽取效率,减少对生产运营的影响,可针对不同的情况选用不同的抽取方式。
1.2 数据清洗转换
从数据源中抽取的数据不一定完全满足目的库的要求,例如数据格式的不一致、数据输入错误、数据不完整等等,数据转换就是完成对抽取的源数据根据数据仓库系统或目标数据库的要求,进行数据的转换、清洗、拆分、汇总等,保证来自不同系统、不同格式的数据和信息具有一致性和完整性,并按要求装入目标数据库。一般数据转换可通过源数据与目标数据的映射关系来完成,其转换规则可定义在映射表中,转换工具根据定义的规则进行转换。转换工具可直接采用SQL语句的方式和转换组件的方式进行转换。比较而言,直接在SQL语句中进行转换和加工更加简单清晰,性能更高,但一般要求操作的数据是关系型数据库。对于SQL语句无法处理的可以采用组件的方式处理。
1.3 数据加载
将清洗转换后的数据加载到目的库中通常是ETL过程的最后步骤,当目的库是关系数据库时,直接通过SQL语句进行insert、update、delete操作。目的数据源是文件格式如XML、Excel、TXT等文件时,可通过转换工具根据映射表的设置转换成要求的文件。
2 系统设计与实现
2.1 设计思想
ETL设计与开发,需深入到业务系统内部去获取所需数据,需定义源数据、目标数据,数据抽取、转换和装载策略等。参考ETL设计开发的基本要求,本文对系统进行了整体设计,下文介绍主要设计思想。
数据交换的过程如图1所示,系统设计了三种数据交换方式:
为提高数据交换的性能,对于源数据和目标数据都是关系型数据库的情况,可以直接运用SQL语句的方式进行数据交换。
一般数据可通过系统的转换工具进行数据转换后直接写入目标数据源。
复杂转换需要经过中间数据表暂存数据,通过对中间表的清洗转换处理后再加载到目标数据源。
系统采用灵活定义的方式解决各种情况下的数据交换需求,包括各种类型数据库连接的定义、源数据与目标数据的映射关系定义、数据清洗转换规则定义,系统提供可视操作界面并将定义的结果保存到数据库表中,整个程序将依据各种定义进行分别处理,完成数据抽取、转换及加载的各项功能。
为了更方便用户操作各项数据交换任务,系统提供了作业调度管理的功能,系统按照调度计划、作业组、作业的层次关系进行管理,以作业为最小的操作单元,作业组可包含作业和其他作业组,一项调度计划可包含多项作业组和作业,对作业、作业
文档评论(0)