[发明专利]一种基于SCA的ETL架构管理方法在审
申请号: | 201510259646.6 | 申请日: | 2015-05-20 |
公开(公告)号: | CN104834742A | 公开(公告)日: | 2015-08-12 |
发明(设计)人: | 李继云;孙莉;孙健;易先海;乐嘉锦;施巍;吕俊涛 | 申请(专利权)人: | 东华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 上海申汇专利代理有限公司 31001 | 代理人: | 翁若莹 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sca etl 架构 管理 方法 | ||
技术领域
本发明针对ETL开发周期瓶颈的问题,研究、设计和实现了一个基于SCA的ETL架构,该架构能够复用已有的ETL工具,已有的组件功能,同时提高定制开发组件的复用性。
背景技术
ETL是数据抽取、转换和装载(Extract,Transformation,Loading)的英文简称,是数据仓库获取高质量数据的关键环节,是对分散在各业务系统中的现有数据进行提取、转换、清洗和加载的过程,使这些数据成为商业智能系统需要的有用数据。ETL是构建数据仓库的第一步,也是构建数据仓库最重要的步骤。在联合实验室所开发的数据仓库项目中,ETL部分是耗费时间最多的阶段,所使用的ETL工具为微软的SSIS,在开发之前要先学习该平台下的大量控件的使用规范和使用场景以及使用方式,还有其平台部署时的移植问题,这和熟悉的编程语言,如Java,C#,SQL等虽有一定的交集,但较少,使用该平台则需要学习大量的该平台的相关新知识,所以一个能够独立于编程语言和开发平台,能够让开发者根据自己熟悉的编程语言来实现ETL开发的ETL框架是有需求和意义的。在所开发的项目中,ETL部分是复杂的,其中有着大量相同的过程,以及相似的流程,也就是在多个项目中我们做了大量的重复工作,这也是造成ETL部分耗时最多的一个原因。故对于一个能够降低ETL开发复杂度,减少ETL开发周期的,复用性和扩展性良好的ETL框架有着迫切的需求。
发明内容
本发明的目的是提供一种基于SCA的ETL架构的组织和管理策略。
为了达到上述目的,本发明的技术方案是提供了一种基于SCA的ETL架构管理方法,其特征在于,包括以下步骤:
步骤1、对元数据信息的访问,和存储元数据信息的存储介质进行交互;
步骤2、解决不同数据源之间的交互,提供多源支持,包括以下步骤:
步骤2.1、对数据格式良好的文本数据源直接导入到对应的表中;
步骤2.2、把基于文本的数据源和基于关系数据库的数据源都看成是统一的数据源DataStore,一个数据源DataStore包含一到多个数据模式Schema,每个数据集合Schema包含多个一到多个数据表Table,每个数据表Table包含一到多个数据列Column;
步骤2.3、当要在不同的数据源之间进行数据读写操作时,提供足够的信息给数据源DataStore,能够找到对应的DataContext、数据模式Schema、数据表Table的对应实现类,然后在程序级别则是Column接口的数据介入到Column接口中,最后写入到对应的物理存储介质上;
步骤3、处理各种各样的数据质量问题,对多源异构下的数据源进行清洗与转换操作,包括数据模式级别和数据实例级别;
步骤4、完成维度建模过程,把加载到数据仓库中的数据最终转化为用户感兴趣的服务。
优选地,所述步骤1包括:
步骤1.1、读写元数据,包括对不同的元数据存储介质的访问;
步骤1.2、实现解析输入参数的功能,处理不同的业务逻辑所需要特定功能。
优选地,所述步骤3包括:
步骤3.1、单源模式级的数据质量问题的处理,找到从源到目的的映射规则,做一些简单的转换即可;
步骤3.2、多源模式下,把数据从一个值转成另一个值,这里面包含了数据一个抽象对象和一个转换抽象动作,由此抽象出来三个接口,分别对应InputRow,InputColumn、Transformer,Transformer的对象是具体的列,所以需要两个接口来对应抽象的数据,而Transformer中定义了两个方法,一个是用来获取输出列的getOutputColumn,另一个是用来实现转换的transform方法,InputRow中包含多个InputColumn,InputColumn定义为泛型结构,因为不确定传入的数据到底是什么类型的,有可能是从数据源中导入进来的原始数据,也可能是经过了Transformer之后转换的数据类型。
优选地,所述步骤4包括:
步骤4.1、生成满足需求的维度表,维度表分为三种:第一种是不发生变化的维度表,第二种是需要记录历史变化的维度表,第三种则是不记录历史变化的维度表;
步骤4.2、处理事实表查找代理键的问题,在SCA组件中,调用对应的数据库函数和存储过程,从SCA的装配模型的角度看,关系数据库是一个提供服务的外部应用,SCA组件只需按照数据库的规范来进行调用即可。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510259646.6/2.html,转载请声明来源钻瓜专利网。