CN104834742A - 一种基于sca的etl架构管理方法 - Google Patents
一种基于sca的etl架构管理方法 Download PDFInfo
- Publication number
- CN104834742A CN104834742A CN201510259646.6A CN201510259646A CN104834742A CN 104834742 A CN104834742 A CN 104834742A CN 201510259646 A CN201510259646 A CN 201510259646A CN 104834742 A CN104834742 A CN 104834742A
- Authority
- CN
- China
- Prior art keywords
- data
- sca
- etl
- source
- management method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于SCA的ETL架构管理方法。本发明针对企业数据仓库建设周期中ETL瓶颈的问题,设计和实现了一个基于SCA的ETL架构,该架构能够方便地复用已有的ETL工具、已有的组件功能,同时提高定制开发组件的复用性。本发明的特点为复用当前已有的满足ETL需求的组件和系统,提高开发的ETL组件的复用性和扩展性,基于SCA的粗粒度、平台无关、松耦合等优良特性,达到缩短ETL开发周期和降低复杂度的目的。
Description
技术领域
本发明针对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组件只需按照数据库的规范来进行调用即可。
本发明提供了一种基于SCA的ETL架构方法和管理策略,其特点为复用当前已有的满足ETL需求的组件和系统,提高开发的ETL组件的复用性和扩展性,在结合SCA在粗粒度、平台无关、松耦合等优良特性的基础上提出一个基于SCA的ETL框架方法,达到简化ETL开发周期和复杂度的目的。
具体实施方式
为使本发明更明显易懂,兹以优选实施例作详细说明如下。
本发明的技术方案提供了一种基于SCA的ETL架构管理方法,本发明能针对在所开发的项目中,ETL部分是复杂的,在多个项目中我们做了大量的重复工作,造成ETL部分耗时最多的问题,提供一种基于SCA的ETL架构方法,降低ETL开发复杂度,减少ETL开发周期的,复用性和扩展性良好的ETL框架,其步骤为:
步骤1、对元数据信息的访问,和文本文件,关系数据库等存储元数据信息的存储介质进行交互,该步骤包括:
步骤1.1、读写元数据,包括对不同的元数据存储介质的访问;
步骤1.2、实现解析输入参数的功能,处理不同的业务逻辑所需要特定功能。
步骤2、解决不同数据源之间的交互,提供多源支持。该步骤包括:
步骤2.1、对数据格式良好的文本数据源直接导入到对应的表中,但是现实世界是一般不能保证文本数据源的数据质量,所以通常的做法是先把文本数据导入到内存中,通过一系列的校验,再从内存导入到关系数据库中。
步骤2.2、把Excel文件,CSV文件等基于文本的数据源和基于关系数据库的数据源都看成是统一的数据源DataStore,一个DataStore包含一到多个Schema,每个Schema包含多个一到多个Table,每个Table包含一到多个Column。
步骤2.3、当要在不同的数据源之间进行数据读写操作时,可以不用业务逻辑阶段去考虑这种异构数据源之间的差异所带来的影响,而只需要提供足够的信息给DataStore,就能够找到对应DataContext,Schema,Table的对应实现类,然后在程序级别则是Column接口的数据介入到Column接口中,最后写入到对应的物理存储介质上。
步骤3、处理各种各样的数据质量问题,对多源异构下的数据源进行清洗与转换操作,包括数据模式级别和数据实例级别,该步骤包括:
步骤3.1、单源模式级的数据质量问题的处理,找到从源到目的的映射规则,做一些简单的转换即可。
步骤3.2、多源模式下,把数据从一个值转成另一个值,这里面包含了数据一个抽象对象和一个转换抽象动作,由此抽象出来三个接口,分别对应InputRow,InputColumn,Transformer。程序中Transformer的对象是具体的列,所以需要两个接口来对应抽象的数据,而Transformer中定义了两个方法,一个是用来获取输出列的getOutputColumn,另一个是用来实现转换的transform方法。InputRow中包含多个InputColumn,InputColumn定义为泛型结构,因为不确定传入的数据到底是什么类型的,有可能是从数据源中导入进来的原始数据,也可能是经过了Transformer之后转换的数据类型。
步骤4、完成维度建模过程,把加载到数据仓库中的数据最终转化为用户感兴趣的服务。该步骤包括:
步骤4.1、生成满足需求的维度表,维度表分为三种,第一种是不发生变化的维度表,第二种是需要记录历史变化的维度表,第三种则是不记录历史变化的维度表,而在这三种类型中,第二种渐变维度相对复杂些,由于数据集市中一般采用星型模式,故需要处理从雪花型到星型的转换。
步骤4.2、处理事实表查找代理键的问题,在SCA组件中,调用对应的数据库函数和存储过程,从SCA的装配模型的角度看,关系数据库是一个提供服务的外部应用,SCA组件只需按照数据库的规范来进行调用即可。
上述步骤的一个具体实例为:
步骤1、对元数据信息的访问,和文本文件,关系数据库等存储元数据信息的存储介质进行交互。
1.1)首先需要把数据源抽取到缓存数据库Stage库中;
1.2)IVR系统和CTI系统使用是Oracle数据库,SSIS定义DataSources提供了.NetProvidersforOleDb里的MircosoftOLEDBProviderforOracle,配置好数据连接后需要把所需要的业务数据先不做任何转换的抽取过来。
1.3)另一个数据源是Excel文件,微软在其数据流任务(DataFlowTask)中提供了ExcelSource来支持对Excel文件的读取。
步骤2、解决不同数据源之间的交互,提供多源支持。
2.1)通用数据源组件的实现是使用的开源软件MetaModel。
2.2)按照关系数据库的模型对非关系数据库型的数据源(DataContext)提供统一的模式(Schemas),表(tables),列(columns)和关联(relationships),为那些非关系型的数据源提供同样的查询功能。
步骤3、处理各种各样的数据质量问题,对多源异构下的数据源进行清洗与转换操作。
3.1)在项目的实现中用来解决实例级的数据质量问题的组件是AnalyzerBeans,提供了多种用于数据分析转换的功能组件
3.2)在该项目应用中,SSIS实现了简单的模式级转换,而对于Excel餐表的解析,通过数据词典来实现校验过程。
步骤4、完成维度建模过程,把加载到数据仓库中的数据最终转化为用户感兴趣的服务。
4.1)复用SSIS的实现,生成对应的维度表,完成事实表的代理键转换。
步骤5、组件装配及相互访问。
5.1)SCA支持不同的编程语言构建功能单元或组件,然后将它们通过SOAP,JMS,RMI,REST或者其他协议暴露为服务,这些组件在内部被连在一起形成更高级别的服务或组合,服务以分布式的方式运行。
5.2)通过本实现中选择的SCA的容器ApacheTuscany,用Tuscany可以把这些按照不同技术实现的ETL模块及组件按照SCA装备模型方便的封装发布为Web服务,供相互调用以及复用。
Claims (4)
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架构管理方法,其特征在于,所述步骤1包括:
步骤1.1、读写元数据,包括对不同的元数据存储介质的访问;
步骤1.2、实现解析输入参数的功能,处理不同的业务逻辑所需要特定功能。
3.如权利要求1所述的一种基于SCA的ETL架构管理方法,其特征在于,所述步骤3包括:
步骤3.1、单源模式级的数据质量问题的处理,找到从源到目的的映射规则,做一些简单的转换;
步骤3.2、多源模式下,把数据从一个值转成另一个值,这里面包含了数据一个抽象对象和一个转换抽象动作,由此抽象出来三个接口,分别对应InputRow,InputColumn、Transformer,Transformer的对象是具体的列,所以需要两个接口来对应抽象的数据,而Transformer中定义了两个方法,一个是用来获取输出列的getOutputColumn,另一个是用来实现转换的transform方法,InputRow中包含多个InputColumn,InputColumn定义为泛型结构,因为不确定传入的数据到底是什么类型的,有可能是从数据源中导入进来的原始数据,也可能是经过了Transformer之后转换的数据类型。
4.如权利要求1所述的一种基于SCA的ETL架构管理方法,其特征在于,所述步骤4包括:
步骤4.1、生成满足需求的维度表,维度表分为三种:第一种是不发生变化的维度表,第二种是需要记录历史变化的维度表,第三种则是不记录历史变化的维度表;
步骤4.2、处理事实表查找代理键的问题,在SCA组件中,调用对应的数据库函数和存储过程,从SCA的装配模型的角度看,关系数据库是一个提供服务的外部应用,SCA组件只需按照数据库的规范来进行调用即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259646.6A CN104834742A (zh) | 2015-05-20 | 2015-05-20 | 一种基于sca的etl架构管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259646.6A CN104834742A (zh) | 2015-05-20 | 2015-05-20 | 一种基于sca的etl架构管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104834742A true CN104834742A (zh) | 2015-08-12 |
Family
ID=53812628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259646.6A Pending CN104834742A (zh) | 2015-05-20 | 2015-05-20 | 一种基于sca的etl架构管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104834742A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426394A (zh) * | 2015-10-18 | 2016-03-23 | 广州赛意信息科技股份有限公司 | 基于跨平台的移动报表生成方法和系统 |
CN110347741A (zh) * | 2019-07-18 | 2019-10-18 | 普元信息技术股份有限公司 | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 |
CN112685483A (zh) * | 2020-12-17 | 2021-04-20 | 福建新大陆软件工程有限公司 | 基于数据管道和安全沙箱的etl方法、装置、设备和介质 |
CN113434481A (zh) * | 2021-06-24 | 2021-09-24 | 平安国际智慧城市科技股份有限公司 | 数据服务的实现方法、装置、设备以及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952940A (zh) * | 2006-11-24 | 2007-04-25 | 北京神舟航天软件技术有限公司 | 应用层调用基于关系数据库的数据库抽象层的方法 |
US20120296862A1 (en) * | 2011-05-19 | 2012-11-22 | Compact Solutions, Llc | Method and apparatus for analyzing and migrating data integration applications |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
-
2015
- 2015-05-20 CN CN201510259646.6A patent/CN104834742A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1952940A (zh) * | 2006-11-24 | 2007-04-25 | 北京神舟航天软件技术有限公司 | 应用层调用基于关系数据库的数据库抽象层的方法 |
US20120296862A1 (en) * | 2011-05-19 | 2012-11-22 | Compact Solutions, Llc | Method and apparatus for analyzing and migrating data integration applications |
CN104346377A (zh) * | 2013-07-31 | 2015-02-11 | 克拉玛依红有软件有限责任公司 | 一种基于唯一标识的数据集成和交换方法 |
Non-Patent Citations (2)
Title |
---|
易先海: "一种基于SCA 的ETL 架构的设计和实现", 《计算机应用与软件》 * |
易先海: "一种基于SCA的ETL架构的设计与实现", 《中国优秀硕士学位论文全文数据库·信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426394A (zh) * | 2015-10-18 | 2016-03-23 | 广州赛意信息科技股份有限公司 | 基于跨平台的移动报表生成方法和系统 |
CN105426394B (zh) * | 2015-10-18 | 2019-10-18 | 广州赛意信息科技股份有限公司 | 基于跨平台的移动报表生成方法和系统 |
CN110347741A (zh) * | 2019-07-18 | 2019-10-18 | 普元信息技术股份有限公司 | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 |
CN110347741B (zh) * | 2019-07-18 | 2023-05-05 | 普元信息技术股份有限公司 | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 |
CN112685483A (zh) * | 2020-12-17 | 2021-04-20 | 福建新大陆软件工程有限公司 | 基于数据管道和安全沙箱的etl方法、装置、设备和介质 |
CN112685483B (zh) * | 2020-12-17 | 2022-06-07 | 福建新大陆软件工程有限公司 | 基于数据管道和安全沙箱的etl方法、装置、设备和介质 |
CN113434481A (zh) * | 2021-06-24 | 2021-09-24 | 平安国际智慧城市科技股份有限公司 | 数据服务的实现方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101271475B (zh) | 一种商业智能系统 | |
CN102054025B (zh) | 交通信息资源整合处理方法及系统 | |
Silva et al. | SQL: From traditional databases to big data | |
CN102822819B (zh) | 管理数据查询 | |
US20170185663A1 (en) | Interpreting relational database statements using a virtual multidimensional data model | |
CN102982075A (zh) | 支持访问异构数据源的系统和方法 | |
CN102999537A (zh) | 一种数据迁移系统和方法 | |
US20080046427A1 (en) | System And Method For Planning And Generating Queries For Multi-Dimensional Analysis Using Domain Models And Data Federation | |
Giebler et al. | The data lake architecture framework | |
CN107291471B (zh) | 一种支持可定制化数据采集的元模型框架系统 | |
CN103425780A (zh) | 一种数据的查询方法和装置 | |
Priebe et al. | Business information modeling: A methodology for data-intensive projects, data science and big data governance | |
US20150293947A1 (en) | Validating relationships between entities in a data model | |
US11886395B2 (en) | Processes and systems for onboarding data for a digital duplicate | |
US20140136472A1 (en) | Methodology supported business intelligence (BI) software and system | |
CN104834742A (zh) | 一种基于sca的etl架构管理方法 | |
US10909160B2 (en) | Digital duplicate | |
CN103559189A (zh) | 基于元数据集成模型的电力仿真培训资源管理系统及方法 | |
CN101609473A (zh) | 一种重构报表查询的结构化查询语言的方法及装置 | |
Loganathan et al. | A systematic approach to Big Data | |
CN105205103A (zh) | 访问数据库的方法和装置 | |
Singh et al. | Easy designing steps of a local data warehouse for possible analytical data processing | |
Weber et al. | MMP-a platform to manage machine learning models in industry 4.0 environments | |
Schneider et al. | Assessing the Lakehouse: Analysis, Requirements and Definition. | |
CN106156338A (zh) | 一种信息发现服务器的数据存储方法和信息发现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150812 |