一种基于sca的etl架构管理方法_2

文档序号:8512594阅读:来源:国知局
rmer的对象是具体的列,所以需要两个接口来对应抽象的数据,而Transformer中定义了两个方法,一个是用来获取输出列的getOutputColumn,另一个是用来实现转换的transform方法。InputRow中包含多个InputColumn,InputColumn定义为泛型结构,因为不确定传入的数据到底是什么类型的,有可能是从数据源中导入进来的原始数据,也可能是经过了 Transformer之后转换的数据类型。
[0034]步骤4、完成维度建模过程,把加载到数据仓库中的数据最终转化为用户感兴趣的服务。该步骤包括:
[0035]步骤4.1、生成满足需求的维度表,维度表分为三种,第一种是不发生变化的维度表,第二种是需要记录历史变化的维度表,第三种则是不记录历史变化的维度表,而在这三种类型中,第二种渐变维度相对复杂些,由于数据集市中一般采用星型模式,故需要处理从雪花型到星型的转换。
[0036]步骤4.2、处理事实表查找代理键的问题,在SCA组件中,调用对应的数据库函数和存储过程,从SCA的装配模型的角度看,关系数据库是一个提供服务的外部应用,SCA组件只需按照数据库的规范来进行调用即可。
[0037]上述步骤的一个具体实例为:
[0038]步骤1、对元数据信息的访问,和文本文件,关系数据库等存储元数据信息的存储介质进行交互。
[0039]1.1)首先需要把数据源抽取到缓存数据库Stage库中;
[0040]1.2) IVR系统和CTI系统使用是Oracle数据库,SSIS定义DataSources提供了.NetProvidersforOleDb 里的 MircosoftOLEDBProviderforOracle,配置好数据连接后需要把所需要的业务数据先不做任何转换的抽取过来。
[0041]1.3)另一个数据源是Excel文件,微软在其数据流任务(DataFlowTask)中提供了ExcelSource来支持对Excel文件的读取。
[0042]步骤2、解决不同数据源之间的交互,提供多源支持。
[0043]2.1)通用数据源组件的实现是使用的开源软件MetaModel。
[0044]2.2)按照关系数据库的模型对非关系数据库型的数据源(DataContext)提供统一的模式(Schemas),表(tables),列(columns)和关联(relat1nships),为那些非关系型的数据源提供同样的查询功能。
[0045]步骤3、处理各种各样的数据质量问题,对多源异构下的数据源进行清洗与转换操作。
[0046]3.1)在项目的实现中用来解决实例级的数据质量问题的组件是AnalyzerBeans,提供了多种用于数据分析转换的功能组件
[0047]3.2)在该项目应用中,SSIS实现了简单的模式级转换,而对于Excel餐表的解析,通过数据词典来实现校验过程。
[0048]步骤4、完成维度建模过程,把加载到数据仓库中的数据最终转化为用户感兴趣的服务。
[0049]4.1)复用SSIS的实现,生成对应的维度表,完成事实表的代理键转换。
[0050]步骤5、组件装配及相互访问。
[0051]5.1) SCA支持不同的编程语言构建功能单元或组件,然后将它们通过SOAP,JMS,RMI,REST或者其他协议暴露为服务,这些组件在内部被连在一起形成更高级别的服务或组合,服务以分布式的方式运行。
[0052]5.2)通过本实现中选择的SCA的容器ApacheTuscany,用Tuscany可以把这些按照不同技术实现的ETL模块及组件按照SCA装备模型方便的封装发布为Web服务,供相互调用以及复用。
【主权项】
1.一种基于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、完成维度建模过程,把加载到数据仓库中的数据最终转化为用户感兴趣的服务。
2.如权利要求1所述的一种基于SCA的ETL架构管理方法,其特征在于,所述步骤I包括: 步骤1.1、读写元数据,包括对不同的元数据存储介质的访问; 步骤1.2、实现解析输入参数的功能,处理不同的业务逻辑所需要特定功能。
3.如权利要求1所述的一种基于SCA的ETL架构管理方法,其特征在于,所述步骤3包括: 步骤3.1、单源模式级的数据质量问题的处理,找到从源到目的的映射规则,做一些简单的转换; 步骤3.2、多源模式下,把数据从一个值转成另一个值,这里面包含了数据一个抽象对象和一个转换抽象动作,由此抽象出来三个接口,分别对应InputRow,InputCoIumn>Transformer, Transformer的对象是具体的列,所以需要两个接口来对应抽象的数据,而Transformer中定义了两个方法,一个是用来获取输出列的getOutputColumn,另一个是用来实现转换的transform方法,InputRow中包含多个InputColumn,InputColumn定义为泛型结构,因为不确定传入的数据到底是什么类型的,有可能是从数据源中导入进来的原始数据,也可能是经过了 Transformer之后转换的数据类型。
4.如权利要求1所述的一种基于SCA的ETL架构管理方法,其特征在于,所述步骤4包括: 步骤4.1、生成满足需求的维度表,维度表分为三种:第一种是不发生变化的维度表,第二种是需要记录历史变化的维度表,第三种则是不记录历史变化的维度表; 步骤4.2、处理事实表查找代理键的问题,在SCA组件中,调用对应的数据库函数和存储过程,从SCA的装配模型的角度看,关系数据库是一个提供服务的外部应用,SCA组件只需按照数据库的规范来进行调用即可。
【专利摘要】本发明提供了一种基于SCA的ETL架构管理方法。本发明针对企业数据仓库建设周期中ETL瓶颈的问题,设计和实现了一个基于SCA的ETL架构,该架构能够方便地复用已有的ETL工具、已有的组件功能,同时提高定制开发组件的复用性。本发明的特点为复用当前已有的满足ETL需求的组件和系统,提高开发的ETL组件的复用性和扩展性,基于SCA的粗粒度、平台无关、松耦合等优良特性,达到缩短ETL开发周期和降低复杂度的目的。
【IPC分类】G06F17-30
【公开号】CN104834742
【申请号】CN201510259646
【发明人】李继云, 孙莉, 孙健, 易先海, 乐嘉锦, 施巍, 吕俊涛
【申请人】东华大学
【公开日】2015年8月12日
【申请日】2015年5月20日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1