[ETL] 基于可复用构件思想的ETL架构设计

合集下载

一个较为详细的ETL系统实现方案

一个较为详细的ETL系统实现方案

一个较为详细的ETL系统实现方案ETL(Extract、Transform、Load)系统是一种数据处理系统,主要用于从不同的数据源中提取数据、进行转换和清洗,最后加载到目标数据库或数据仓库中,以供分析和报告使用。

下面是一个较为详细的ETL系统实现方案。

1.确定需求和目标:在开始设计和实现ETL系统之前,需要明确系统的需求和目标。

这包括确定数据源、目标数据库或数据仓库的类型和结构,以及所需的数据转换和清洗规则。

2.数据源的选择和连接:根据需求,选择合适的数据源,比如关系型数据库、文件系统、API接口等。

然后,通过合适的方式建立和数据源的连接,如使用数据库连接池或API调用等。

3.数据提取:根据需求,设计和实现数据提取的方法。

这可以包括使用SQL查询、文件读取、web爬虫等方式来提取数据。

同时,需要考虑并发和数据量的处理能力,以及数据提取的频率和机制,如增量抽取、全量抽取、定时任务等。

4.数据转换:在数据提取之后,进行数据的转换和清洗。

这可以包括数据格式转换、数据合并、数据过滤、数据去重等操作。

同时,需要根据转换规则和逻辑设计和实现数据转换的方法,比如使用ETL工具、自定义脚本等。

对于复杂的转换规则,可能需要使用MapReduce、Spark等技术来处理。

5.数据加载:在数据转换之后,将数据加载到目标数据库或数据仓库中。

这可以包括使用SQL语句、数据库插入、文件写入等方式来加载数据。

同时,需要设计和实现数据加载的机制,如批量加载、分批加载、事务控制等。

对于大数据量的加载,可能需要使用分布式计算、分布式文件系统等技术来提高加载效率。

6.错误处理和监控:在ETL系统中,可能会出现各种错误和异常情况,比如数据源连接失败、数据转换错误、数据加载冲突等。

需要设计和实现错误处理和监控机制,以及日志记录和报警功能。

这可以包括使用异常处理、事务回滚、数据补偿等方式来处理错误,同时使用日志和监控工具来记录和监控系统的运行情况。

ETL总体介绍

ETL总体介绍

ETL总体介绍目录ETL总体介绍 (1)1.ETL概念 (2)2.数据质量 (2)2.1质量表现 (2)2.2 影响因素 (2)2.3质量要求 (3)2.4处理方式 (4)3.ETL加载流程 (4)3.1数据抽取 (4)3.2数据清洗 (5)3.3数据转换 (6)3.4数据加载 (6)3.5DW汇总层 (7)4.ETL基本功能 (8)4.1ETL体系架构 (9)4.2ETL具备功能 (9)4.3注意事项 (10)5.ETL工具 (11)5.1ETL工具功能 (11)5.2常用工具 (12)6.ETL日志、警告发送 (15)6.1ETL日志 (15)6.2警告发送 (16)7.任务调度策略 (16)7.1驱动策略 (16)7.2退出策略 (16)1.ETL概念ETL,用来将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目标端的过程。

ETL一词较常用在数据仓库,但其对象并不限于数据仓库。

数据仓库是面向主题的、集成的、稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程。

数据仓库系统中有可能存在着大量的噪声数据,引起的主要原因有:滥用缩写词、惯用语、数据输入错误、重复记录、丢失值、拼写变化等。

即便是一个设计和规划良好的数据库系统,如果其中存在着大量的噪声数据,那么这个系统也是没有任何意义的,因为“垃圾进,垃圾出”(garbage in, garbage out),系统根本就不可能为决策分析系统提供任何支持。

为了清除噪声数据,必须在数据库系统中进行数据清洗。

企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。

而ETL则是主要的一个技术手段。

ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。

2.数据质量ETL的质量具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。

数据仓库的ETL设计与实现

数据仓库的ETL设计与实现

数据仓库的ETL设计与实现随着数据管理和处理技术的不断发展,数据仓库的应用越来越广泛。

数据仓库是一个面向主题的、集成的、稳定的、历史数据导向的数据集合,它可以为企业决策提供支持和参考。

而ETL (Extract-Transform-Load)是数据仓库建设中至关重要的一环,本文将从ETL的定义、设计和实现三个方面讨论数据仓库ETL的相关内容。

一、ETL的定义ETL是数据仓库中的三个核心过程之一,其作用是将来源系统的数据提取出来、进行清洗和转换、最终加载到数据仓库中。

该过程包括了多个环节,例如数据抽取、转换、质量验证等。

数据抽取主要是从数据源系统中提取需要的数据,转换则是对数据进行处理,如合并、拆分、计算、汇总等操作。

而在数据转换的过程中,也需要对数据的质量进行验证,包括数据完整性、准确性、一致性等多方面的要求。

最后通过数据加载的过程,将清洗后的数据存储到数据仓库中,以供后续的查询和分析使用。

二、ETL的设计1. 数据源分析在进行ETL设计之前,需要对数据源进行充分、全面的分析。

这个过程可以帮助我们了解源数据的组织方式、数据格式以及数据量,进而为后续的数据抽取和转换设计提供有力的支持。

此外,还需要考虑数据源的连接方式和可靠性。

2. 抽取和清洗在数据抽取方面,需要针对不同来源系统选择不同的抽取方式。

例如,可以使用增量抽取方式来避免对全部数据的重复抽取;也可以选择周期性全量抽取的方式,提高数据抽取的准确性和及时性。

而在数据清洗方面,则需要对数据进行结构化、规整、控制数据质量,如去除重复记录、删除无效数据、纠正数据错误等操作。

清洗之后的数据能够满足数据仓库的要求,保证后续数据处理的有效性。

3. 转换和装载在数据转换方面,主要采用ETL工具对数据进行处理。

ETL工具能够提供大量的内置函数、命令和工具,帮助我们完成加工数据的过程,如对数据进行汇总、拆分、格式转换等操作,让数据达到更好的可用性和易读性。

而在数据装载方面,主要考虑数据的加载方式和处理速度。

ETL技术规范(通用)

ETL技术规范(通用)

ETL技术规范(通用)ETL技术规范第1章.ETL设计规范ETL设计规范主要应用于ETL编码的前期工作。

由于ETL全过程是面向数据的,主要工作为数据的抽取(Extract)、转换(Transform)、装载(Loading),正确界定所涉及到的数据范围和应当应用的转换逻辑对于后续的编码工作非常重要,这些数据关系的确定,我们称之为Mapping(数据映射)。

正确定义数据映射关系是ETL成功实施的前提,一个完善的Mapping应该包含以下几个部分:1.1源数据集属性此部分应该详细描述数据源的相关属性,包括:实体名称——含数据来源名称(DSN)、所有者等信息;字段名称——英文名称;字段简述——中文名称,如为参数信息应该有相关取值解释,如性别字段(1:男;2:女;0:不详)类型——字段类型,含长度和精度信息;非空属性——字段是否可以为空;1.2目标数据集属性此部分应该详细描述目标数据集的相关属性,包括:实体名称——含数据来源名称(DSN)、所有者等信息;字段名称——英文名称,建议根据字段含义来命名,而不是简单用拼音来定义字段(此部分由负责设计数据集的人员控制);字段简述——中文名称,对于保留字段应该给出默认值;类型——字段类型,含长度和精度信息;非空属性——字段是否可以为空;1.3E TL规则主要描述ETL各个环节的转换规则,包括:数据源过滤规则——描述从源数据集获取数据过程中过滤掉记录的规则;关联规则——当源数据集为多个时,描述相互之间的关联关系;列转换规则——描述源数据集到目标数据集的字段间的转换规则;此规则非常重要,要清晰描述字段间的逻辑关系,包括业务逻辑;目标数据集更新规则——描述目标数据集的更新策略,包括更新机制和更新频度,如“每日全量更新”、“每周增量更新”等;ETL作业列表——由于ETL所开发的作业之间包含一定的业务逻辑和编码逻辑,所以调度过程中应遵循一定的逻辑顺序,此部分主要用来明确调度的顺序,包括:作业名称——实现Mapping的作业名称,包括该作业功能描述;调度顺序——用序号或者是流程图模式描述作业的调度顺序,需要综合考虑业务逻辑、编码逻辑以及系统资源等多方面情况,在保证业务逻辑和编码逻辑的基础上,通过控制调度,最大限度地合理利用系统资源;参数列表——列举每个作业中所使用的参数,不同作业中的相同参数最好使用相同的名称,便于调度时进行控制。

数据ETL工具通用框架设计

数据ETL工具通用框架设计

收稿日期:2003-06-30;修订日期:2003-09-03 基金项目:国家自然科学基金项目(69971007;60171043)作者简介:周宏广(1976-),男,湖南长沙人,硕士研究生,主要研究方向:数据仓库、数据清洗; 周继承(1963-),男,湖南长沙人,教授,博士生导师,主要研究方向:计算机模拟; 彭银桥(1969-),男,湖南衡阳人,讲师,硕士,主要研究方向:计算机模拟; 龙思锐(1978-),女,湖南湘潭人,硕士研究生,主要研究方向:企业应用集成、数据清洗.文章编号:1001-9081(2003)12-0096-03数据ETL 工具通用框架设计周宏广,周继承,彭银桥,龙思锐(中南大学信息材料与计算科学研究所,湖南长沙410083)摘 要:异构多数据源集成和数据清洗是将操作数据导入数据仓库过程中面临的两大挑战。

从实践角度设计了数据ETL 工具的整体框架,使用通用数据访问接口来屏蔽各种数据源之间的差异,并以数据清洗为主要目的,为消除多数据源的模式冲突和数据冲突提供了通用而有效的解决方案。

关键词:数据ETL ;数据集成;数据清洗中图分类号:TP311 文献标识码:A General Frame Design for ETL ToolsZHOU Hong-guang,ZHOU Ji-cheng,PENG Yin-giao,LONG Si-rui(Institute of Information Material and Computing Science,Central South Uniuersity,Changsha Hunan 410075,China)Abstract:In the process of importing operationaI data into data warehouse,two Iargest chaIIenges wiII be confronted.One is the integration of heterogeneous muti-data sources and the other is dirty data detection and soIution.In this paper,the generaI frame for ETL tooIs is designed for pratice.GeneraI data access interface is used for shieIding the difference among aII kinds of data sources and data cIeaning is the main purpose in the frame.An effective soIution is given for eIiminating muti-data sources scheme coIIision and instance data coIIision.Key words:ETL processg data integrationg data cIeaning1 引言建设数据仓库需要集成来自多种业务数据源中的数据,这些数据源可能处在不同的硬件和操作系统之上,在编码、命名、数据类型、语义等方面都存在较大的冲突,因此如何向数据仓库中加载这些数量大、种类多的数据,已成为建立数据仓库所面临的一个关键问题[1]。

ETL设计实现

ETL设计实现

ETL设计实现ETL(Extract, Transform, Load)是一种数据仓库建设过程中常用的数据集成技术。

它的主要目标是从多个不同的数据源中抽取数据,经过一系列的转换操作之后,将数据加载到数据仓库中,以便进行数据分析和报告生成。

在ETL设计实现中,首先需要明确的是数据源和目标数据仓库,同时要了解数据源的结构和格式,以便进行后续的抽取和转换操作。

接下来,可以根据具体需求来设计ETL流程,并选择合适的工具和技术来实现。

ETL的设计实现主要包括以下几个步骤:1. 数据抽取(Extract):这是ETL过程的第一步,主要是从数据源中抽取需要的数据。

数据源可以是数据库、文件、Web服务等各种数据存储系统。

在抽取数据时,通常需要考虑数据源的连接、查询条件、字段选择等因素。

2. 数据转换(Transform):在数据抽取之后,需要对数据进行一系列的转换操作,以便满足目标数据仓库的需求。

数据转换可以包括数据清洗、数据整合、数据规范化、数据格式转换等。

在这一步中,可以使用一些ETL工具或编程语言来实现数据转换操作。

3. 数据加载(Load):数据加载是ETL过程的最后一步,即将转换后的数据加载到目标数据仓库中。

数据加载可以分为全量加载和增量加载两种方式。

全量加载是将所有转换后的数据一次性加载到目标数据仓库中,而增量加载是只将增量数据加载到目标数据仓库中,以提高数据加载效率。

在ETL设计实现过程中,还需要考虑以下几个方面:1.数据质量:在数据转换过程中,需要考虑数据的质量问题。

常见的数据质量问题包括缺失值、重复值、格式错误等。

可以通过数据清洗、数据验证等方式来提高数据质量。

2.并发和性能:在大规模数据加载情况下,需要考虑并发和性能问题。

可以采用多线程或分布式计算等方式来提高ETL的性能,并减少数据加载的时间。

3.错误处理与日志记录:在ETL过程中,可能会出现各种错误,如数据源连接错误、数据转换错误等。

需要对这些错误进行及时处理,并记录错误信息以便后续排查和修复。

面向数据质量的ETL框架的设计与实现

wh c o e e a p cso tr a eo l aar s u c s d s r t n o L me a a a d s r t n o L t s s n o to l go ih c v r h s e t f n ef c f t i mu t d t e o r e , e c p i f i i o ET t d t , e c p i f i o ET a k d c n r l n f a i
r ht tr a e nd t u l ma a e n e e td ac i cu eb sdo aaq ai n g se, fu d lsaed sg e , e y t ip c r igt t tr fh L po es s o r oh e mo ue r e in d
计 算 机 工 程 与 设 计 C m u r ni e n d e g o pt E g er g n D s n e n i a i
2 1, 9 00 1( 2 5 3 ) 07
・开 发 与 应 用 ・
面向数据质量的 E L框架的设计与实现 T
李 庆 阳 , 彭 宏 ( 南理 工 大 学 计 算机 科 学与 工程 学 院 ,广 东 广 州 5 0 0) 华 1 06
A src:T vro e eeto t dt nl xrc t nfr la (T ) aci c r a u l ot l a rvdE L b tat oo ecme h fcs fr io a et tr s m— d E L rht t e n tq at cn o, n mpo e T t d a i a —a o o e u id a i y r i
p o ie a n lss e ut wh c sdb erl e u t ne gn e eaed t la igsh me I iwa , e e t eq ai rvd s t a ay i s l ihi u e yt ued d ci n iet g n rt a ce n c e . nt s y f ci u l da r s s h o o a n h v y t

ETL讲解(很详细!!!)[转]

ETL讲解(很详细)[转]ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,⽬的是将企业中的分散、零乱、标准不统⼀的数据整合到⼀起,为企业的决策提供分析依据。

ETL是BI项⽬重要的⼀个环节。

通常情况下,在BI项⽬中ETL会花掉整个项⽬⾄少1/3的时间,ETL设计的好坏直接关接到BI项⽬的成败。

ETL的设计分三部分:数据抽取、数据的清洗转换、数据的加载。

在设计ETL的时候我们也是从这三部分出发。

数据的抽取是从各个不同的数据源抽取到ODS(Operational Data Store,操作型数据存储)中——这个过程也可以做⼀些数据的清洗和转换),在抽取的过程中需要挑选不同的抽取⽅法,尽可能的提⾼ETL的运⾏效率。

ETL三个部分中,花费时间最长的是“T”(Transform,清洗、转换)的部分,⼀般情况下这部分⼯作量是整个ETL的2/3。

数据的加载⼀般在数据清洗完了之后直接写⼊DW(Data Warehousing,数据仓库)中去。

ETL的实现有多种⽅法,常⽤的有三种。

⼀种是借助ETL⼯具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服务、Informatic等)实现,⼀种是SQL⽅式实现,另外⼀种是ETL⼯具和SQL相结合。

前两种⽅法各有各的优缺点,借助⼯具可以快速的建⽴起ETL⼯程,屏蔽了复杂的编码任务,提⾼了速度,降低了难度,但是缺少灵活性。

SQL的⽅法优点是灵活,提⾼ETL运⾏效率,但是编码复杂,对技术要求⽐较⾼。

第三种是综合了前⾯⼆种的优点,会极⼤地提⾼ETL的开发速度和效率。

⼀、数据的抽取(Extract) 这⼀部分需要在调研阶段做⼤量的⼯作,⾸先要搞清楚数据是从⼏个业务系统中来,各个业务系统的数据库服务器运⾏什么DBMS,是否存在⼿⼯数据,⼿⼯数据量有多⼤,是否存在⾮结构化的数据等等,当收集完这些信息之后才可以进⾏数据抽取的设计。

ETL开发流程详细设计

ETL开发流程详细设计ETL(Extract, Transform, Load)是一种数据集成的技术,用于从不同的数据源提取数据,进行转换和加载到目标系统。

ETL开发流程的详细设计是为了确保ETL过程能够顺利进行,并保证数据的完整性和准确性。

以下是一个1200字以上的ETL开发流程详细设计的示例:3.数据转换:在数据转换阶段,需要对提取的数据进行转换和清洗。

数据转换包括数据整合、字段重命名、数据类型转换、数据格式化等。

此外,在此阶段还可以应用一些数据处理规则,如数据筛选、数据合并和数据分割等。

在此阶段,还需要考虑到数据转换的目标和规则,并确保转换的结果能够满足业务需求。

4.数据加载:在数据加载阶段,需要将经过转换的数据加载到目标系统中。

数据加载可以采用插入、更新或追加的方式进行。

在此阶段,需要考虑到目标系统的数据结构和数据规则,并确保能够正确地加载数据。

此外,还需要考虑到数据的完整性和一致性,并设计适当的错误处理机制。

5.数据验证和测试:在数据加载完成后,需要进行数据验证和测试。

数据验证包括对数据的完整性、准确性和一致性的验证。

数据测试包括对数据加载过程和规则的测试。

在此阶段,需要编写相应的测试脚本和样本数据,并进行测试。

如果发现了问题或错误,需要及时进行修复和调整。

6.定时任务和监控:在ETL开发流程完成后,需要将ETL过程设置为定时任务,并进行监控。

定时任务包括定期执行ETL过程,并生成相应的日志和报告。

监控包括对ETL过程的监控和异常处理。

在此阶段,需要设计适当的定时任务和监控机制,并确保能够及时发现和解决问题。

7.文档编写和维护:在ETL开发流程完成后,需要编写相应的文档,并进行维护。

文档包括ETL的设计文档、数据字典、操作手册和维护记录等。

在此阶段,需要详细记录ETL开发过程和设计思路,并保持文档的更新和维护。

综上所述,ETL开发流程的详细设计包括需求分析和设计、数据提取、数据转换、数据加载、数据验证和测试、定时任务和监控、文档编写和维护等阶段。

可复用构件净室设计模式研究

可复用构件净室设计模式研究
冯建湘;刘定;楚涤修;冯冼
【期刊名称】《电力科学与技术学报》
【年(卷),期】2003(018)003
【摘要】基于构件的软件开发已成为软件工程化开发的重要趋势,可复用构件产品的质量和可靠性是决定软件系统质量和可靠性的关键.根据构件的主要特点和基于构件的软件设计思想,运用国际上先进的净室软件工程的理论、技术和实践成果,提出了可复用构件净室实现的技术方法和实施过程.
【总页数】4页(P11-14)
【作者】冯建湘;刘定;楚涤修;冯冼
【作者单位】湖南科技大学,计算机科学与技术系,湖南,湘潭,411201;湖南科技大学,计算机科学与技术系,湖南,湘潭,411201;湖南省湘潭市气象局,湖南,湘潭,411100;湖南省湘潭市气象局,湖南,湘潭,411100
【正文语种】中文
【中图分类】TP311
【相关文献】
1.基于可复用构件思想的ETL架构设计 [J], 刘绍清;黄章树
2.基于可复用构件技术的机构运动控制软件设计 [J], 谢妮慧
3.基于净室盒结构可复用构件在乡镇水利系统中应用研究 [J], 胡苏
4.洁净室回风系统设计方式对洁净室的影响 [J], 王秉林
5.节省空间的超净室设计---面积小而功能全的超净室技术 [J], Anke Geipel—Kern;
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[ETL] 基于可复用构件思想的ETL架构设计 ETL, 数据转换, 架构设计, 可复用构件

数据仓库的数据来源常包含着噪声数据、不完整数据、甚至是不一致的数据。为了得到高质量的数据,必须对抽取始数据做一系列复杂转换(Transform)处理,最后装载(Load)到数据仓库中。这种从原始数据到数据仓库之间,对为ETL过程,其工作量大约占系统的60%,实现ETL过程的效率和质量很大程度上决定了数据仓库系统的构建效ETL过程都是集中于个案的研究,强调ETL系统的可扩展性和灵活性,对于如何在类相似或相近的数据仓库项目中究则很少,很大程度上阻碍了数据仓库项目建设效率的进一步提高。如何在一类相似或相近的数据仓库项目中发现需求,使得ETL过程可以在这些数据仓库项目中被反复使用,大幅度提高实现ETL过程的效率,从而提高数据仓该问题具有一定理论意义及实用价值。

基于此,这里研究了基于构件的思想,设计并实现了可重用的ETL架构,经北京银联、江苏银联、浙江银联筹10数据仓库项目实际应用,表明该架构是有效的。

1 基于可复用构件思想的ETL架构设计 1.1 设计思想 基于构件技术的软件复用提倡以已有的工作为基础,充分利用过去工作中积累的知识和经验,将已经辨识的具有相用于新系统的开发,保证新系统开发的过程中,能够将重点集中于辨识和实现应用系统特有的构成成分,最终缩短系统的质量。

基于构件技术的软件复用的核心思想包括如下几个方面: (1)构件化设计。通过系统地分析一类相似或相近的数据仓库项目,识别出其共同特征和可变特征,并对这些特征进分析模型,并据此进一步识别出可复用的构件。

(2)层次化设计。层次化设计可以提高系统的可扩展性和可维护性。通过层次化设计可以将所有识别的构件按一定的处理对象和处理的功能)分类管理,然后以分层的形式来组织,进而确定不同层构件之间的交互方式,保证每个构件邻近两层的相关构件,实现系统一定程度上的开放性。

(3)接口化设计。不同层次的构件之间需要沟通,沟通需要规范,通过规范的接口可实现构件之间沟通的规范化。接体实现交由构件内部完成。接口化设计将构件的差异放到实现阶段,而不是在设计阶段,使得设计阶段可以致力于性和复用性,使得不同系统之间处理的差异通过替换构件而无需变动架构就可得到解决。 1.2 ETL架构模型设计 基于可复用构件思想的ELT架构(如图1所示)主要分成基础服务层、抽取层、集成转换层、特殊处理层四个层次,下所述。

1.2.1 抽取层 抽取层构件位于ETL架构的最底层,直接面对数据源,完成数据抽取阶段的工作。鉴于数据仓库数据源差异性大的L构件在不同数据仓库间差异很大,可重用程度总体上比较低。

1.2.2集成转换层 集成转换层构件主要将抽取层抽取的数据转换成格式规范、含义统一、质量良好的数据,并集成到数据仓库中。由件之间,所以集成转换层构件的输入和输出都要满足层间接口构件的约定,在相似数据仓库项目之间的差异主要体上。集成转换层为每类数据对象提供一类ETL处理构件,同层构件之间相对独立,通过抽象各个相似数据仓库项目装在构件内,保证ETL架构在相似数据仓库之间移植时,只要通过配置业务规则,ETL构件即可投入使用。

1.2.3特殊处理层 为了保证后续功能开发者可以将注意力放在功能关注的指标上,而不要关心指标的具体口径,更不要担心指标口径似数据仓库项目之间的差异对功能移植造成不利影响,在集成转换层构件处理的基础上,专门增加了特殊处理层,流水交易形式组织的数据换算成按KPI组织的形式。

1.2.4 基础服务层 为了给ETL提供一个相对稳定和灵活的架构,在元数据管理的构件识别的基础上引入了基础服务层,扩展了传统意的功能,包含元数据管理构件、层间接口构件、KPI自动测试构件三大类:这些构件构成了ETL基础和骨架,为系奠定了基础。

(1)元数据管理构件。元数据是关于数据的数据,元数据管理构件主要完成ETL子系统中元数据管理模块的功能,别是负责维护数据仓库架构的维护类构件、负责维护业务规则的维护类构件和调度类构件。

(2)层间接口构件。为了在各个数据仓库项目之间平稳的移植ETL,在此设计了层间接口构件。从抽象层面上为各数个相同的ETL处理框架,为ETL处理过程各层次的各种功能构件提供接口,实现构件具体处理过程对架构的透明留下了余地。

(3)KPI(关键绩效指标)自动测试构件。测试无疑是保证系统质量的一个重要方法,ETL也不例外,但是,ETL过程测试在测试过程、测试方法、评价标准等方面都有比较大的不同,它是一个非常繁琐、工作量巨大、有一定规律的

从抽象层面上看,一类相似或相近的数据仓库项目每个KPI(关键绩效指标)的维度组合是相对固定的,测试标准和以,在ETL架构中,专门提供了KPI自动测试类构件,为每类KPI提供一个自动测试构件,其基本处理逻辑如图 该类构件能够快速发现ETL架构中集成层和转换层中相关构件数据处理过程中隐藏的问题,从而降低ETL过程测试大幅度提高ETL架构的效率和质量。

2银联统计分析系统ETL构件识别与架构设计 为了说明基于可重用构建思想的ETL架构的有效性,下面介绍该架构在多家银联统计分析系统中的实际应用。 2.1 银联统计分析系统的介绍 银联统计分析系统是建立在数据仓库基础上的,为银联各分公司领导提供决策辅助信息的系统。其目的是为了更深量跨行交易数据,是为了促进分公司、银行、金融监管机构和行业客户对业务进行全面、及时、准确的分析和定位动态和预测,及时解决业务发展中存在的问题。

银联在全国有37家省级分公司。各分公司所关心的数据内容,关注的KPI体系,KPI的评价标准都是一致的。但地经济发展水平不同,银行卡应用深度不同,导致各分公司业务种类差异很大,即使是同一种业务,其成熟程度、大,体现在数据上就是数据源的种类不一致,即使是相同的业务数据源,在数据结构、业务判断规则、数据表现形性。

这种共性大差异性也大的多个数据仓库系统,设计上选用可重用性构件的思想来指导ETL的架构设计,实现上采用动知识产权决策支持系统产品:数据挖掘商业应用平台(Compass)。该平台包括智能流程管理子系统、报表专家子系统、数据挖掘子系统四个部分。其中智能流程子系统是一个独立的ETL开发工具,能够支持基于可复用构件思想

2.2 银联统计分析系统ETL构件分层识别 在银联统计分析系统ETL设计阶段,依据图1所示的ETL架构和设计思想来设计和组织ETL各处理阶段可重用构口规则:

(1)抽取层。银联统计分析系统抽取层处理的数据主要三类:业务数据、维度数据、辅助数据。业务数据主要包括全据、公共支付、固网支付、网上支付等业务交易数据;维度数据主要包括商户信息、机构信息、终端信息、地区信是卡bin信息、发卡信息等。

银联统计分析系统这个层面的数据除了全流水数据外,其他的内容在各个分公司表现形式、处理规则差异很大,封大,所以这个层面可以识别的构件只有全流水抽取。 (2)集成转换层。鉴于各分公司统计分析系统所关心的数据内容,关注的KPI体系,关注的维度数据(商户、机构、高,所以这个层面可以识别的构件比较多,主要有两大类:流水数据集成转换构件;维度类数据集成转换构件,具终端、商户类别、地区信息的集成转换构件。

辅助数据因为类型多样,差异比较大,可重用价值不高,所以不对其识别构件。 (3)特殊处理层。银联统计分析系统的特殊处理层的构件不再按照数据类别识别,而是根据每个指标的使用频率、涉少识别三类构件:交易指标类构件、调账指标类构件、维度统计指标类构件,分别负责交易类指标、调账类指标、的统计。

(4)基础服务层。各分公司银联统计分析系统对元数据管理要求基本一致且没有特殊要求,银联统计分析系统将其识件。

考虑到银联统计分析系统处理的数据对象基本一致,差异主要体现在数据的表现形式和处理规则上,加上ETL过程量很大,这里选用数据池的形式而不采用函数调用的形式来定义构件接口。例如,所有分公司对商户关注的信息都分公司提供的商户信息的表现形式却各不相同,抽取层接口数据池通过约定抽取层商户信息抽取过程生成内容和格户信息集成转换构件提供一个稳定的数据源,使其不必关心用户提供的数据源是什么形式。

考虑到银联统计分析系统关注的指标繁多,一次性全部识别成控件难度和工作量都很大。所以,首先识别并封装最易类指标的自动测试构建;然后是调帐指标和维度统计指标的自动测试构件的识别和封装。 2.3 银联统计分析系统ETL架构设计

基于可复用构件思想银联统计分析系统ETL架构具体包含六个功能模块(如图3所示)包括:元数据抽取模块、可重模块、数据仓库架构自动维护模块、ETL过程定义模块、ETL调度模块、ETL构件生成模块。各个模块的具体功能

(1)元数据抽取模块。这个模块主要完成两项工作:抽取银联业务数据和维度数据元数据,并在此基础上对系统进行如银联各类数据源提供的时间周期、银联数据仓库数据保留的时间和备份频率等信息。

(2)可重用构件的选择和导入模块。在银联统计分析系统的分析和设计阶段,已经识别了抽取层、集成转换层等各层件。为了管理和重用这些构件,构件选择和导入模块的功能有两个:第一,从银联构件库中抽取已经封装的全流水集成转换构件、KPI转换构件、维度类数据集成转换构件(包括商户、机构、终端、商户类别、地区信息五类构件)件,将其导入到ETL过程库,按照ETL架构(见图1)对导人的构件分层组织,生成系统的ETL过程框架(如图4(a的ETL过程链中三个JOB节点分别对应ETL架构(见图1)中的抽取层、数据集成转换层、特殊处理层,图4(b)~构件(一个JOB节点代表一个导人构件的处理过程)在这三个层次中的组织形式。第二,模块可根据新项目银联分公指标口径配置每个构件的处理规则,将配置信息加入元数据库中。

(3)数据仓库架构自动维护模块。数据仓库架构自动维护模块主要功能是依据元数据库中的信息,为银联统计分析系创建和初始化工作,完成事实表、维度表创建,完成每个构件需要的配置表、中间表和临时表的建立等工作,而这实现和维护的。

(4)ETL过程定义模块。在初始框架的基础上,可通过ETL定义模块可视化地定义构件库中没有可重用构件的ETL品牌费抽取、商户信息抽取(如图5所示)、终端信息过程等,使整个银联统计分析系统的ETL趋于完善。

(5)ETL调度模块。ETL调度模块可以根据系统的调度设置,执行ETL过程库中的ETL过程,实现数据抽取、转换作。

(6)可重用构件生成模块。对于新定义的ETL过程,若可重用价值高,可通过ETL构件生成模块从ETL过程库中抽程包装成可重用构件。可重用构件一般包括以下内容:ETL处理过程、配置过程说明文档、相关表(配置表、中间表初始化数据、特殊规则配置功能界面,构件这些构成部分由ETL构件生成模块分别存入到构件库中相关表中。

相关文档
最新文档