手机版

ETL工作流活动优先级的确定及并行实现(2)

发布时间:2021-06-05   来源:未知    
字号:

工作流技术介绍

执行ETL工作流中的活动,通过比较这两种方法的时间效率,证明所提出算法的有效性。

1 ETL工作流模型

在ETL流程设计中,首先应该根据业务需求和相关数据源的结构建立概念模型,确定源数据库与目标数据库之间的映射关系,然后根据概念模型建立逻辑模型。1畅1 ETL概念模型

概念建模是整个ETL流程设计的最初阶段,在这个阶段,ETL数据源的结构及其内容

流程设计者的主要任务是搜集用户的需求[2]

,确定抽取操作所使用的数据源,然后分析相关。

ETL之间的映射关系概念模型主要是建立数据源与数据仓库的模式或者属性,以及在映射过程所需要的转换和清洗操作。下面给出在本文中使用的几个ETL概念模型基本元素的

定义:

转换(transform) 是从数据源到目标数据仓库属性映射过程中对数据进行必要的转换、清洗操作。它包括了数据清洗/过滤操作与模式转换操作。

约束(ETLconstrain) 对数据集合中的数据必须满足的某些条件进行建模的结果。

数据供应关系(providerrelationship) 定义从数据源到目标数据仓库的属性之间的映射关系,以及中间可选的相关转换。

下面以一个例子来说明ETL流程的概念建模。一家电子商务跨国企业,需要从中国和美国两个分公司的数据库抽取注册用户的信息到集中的数据仓库中进行分析,假设数据源和数据仓库中的模式如下:

SS1.S1.customercity(cityID(customerID,cityName,,namecountryName,cityID,)

email,date)DW2.customer.customer(name(customerID,countryName,name,,countryNamecityName,email,cityName,date)

,email,date)

对于这个ETL场景,可以建立如图1所示的概念模型。

其中:S1和S2表示数据源中的表,DSA表示中间数据库,DW表示目标数据仓库。

在上面这个例子中,为了保证目标数据仓库中数据的完整性,需要从S1和S2两个数据源抽取数据,对它们执行并(union)操作。为了与数据仓库中事实表的模式一致,必须对Sdate1中的属性的数据从北美的日期格式customer表和city表执行外连接,而且还要将S2中的日期格式(yyyy/mm/dd),还需要根据(mm/ddS2/的其他属性组合yyyy)转换成中国

(name、email)为S2表计算生成一个主键。其中,并运算、外连接运算以及日期转换属于概念模型中的转换(transform),其他的操作如PK、SK则属于约束(ETLconstrain)。1畅2 ETLETL概念模型并不是一个完整的工作流模型

逻辑模型

[7]

,它定义了

数据源与目标数据仓库属性之间的映射关系以及中间必要的转换,但并不关注转换的语义以及执行顺序。

在逻辑建模阶段ETL流程的逻辑模型是一个以数据为中心的工作流模型,ETL流程的设计者需要明确定义数据流所经,

过的各个活动的操作语义,并确定整个流程中各个活动的执行

顺序。

活动(activity)是ETL工作流的基本执行单元,是ETL逻辑模型中一个重要元素。它定义了输入数据模式、输出数据模式、活动的操作语义以及活动的执行优先级。活动的操作语义定义了活动对输入数据所执行的操作,以及输入数据模式到输出数据模式之间的映射关系,可以使用SQL语言或者其他的形式化语言对语义进行描述,也可以使用ETL工具箱中的操作组件和相应的运行时参数进行表示。在一个ETL流程中,必须明确规定每一个活动的执行优先级,ETL流程中的任意两个活动,如果存在依赖关系,即一个活动的输入模式依赖于另一个活动的输出模式(不一定是相邻活动),那么,这两个活动构成严格偏序关系,可以确定其执行的先后顺序。一般情况下,在一个ETL流程中,抽取操作(extract)总是最先执行,加载操作(load)最后执行。

约束,ETL但它提供了更详细的运行时信息逻辑模型中的活动对应于ETL。概念模型中的转换或每一个活动都必须定

义明确的操作语义,还必须规定每一个活动的执行优先级。本文的第3章将给出一个算法,阐述如何在一个ETL工作流中计算每个活动的执行优先级。

对于1.1节所举的例子,图2是它所对应的逻辑模型图,图中主要表示了活动的语义以及执行优先级,对于比较明显的语义没有标出。

2 ETL活动优先级的确定及并行执行

在ETL逻辑模型中,必须确定每一个活动的执行优先级,以确定整个ETL工作流的执行顺序。在确定了执行的优先级之后,可对相互之间没有依赖关系的活动并行执行,以提高整

个ETL工作流的执行效率。2畅1 确定ETL工作流活动优先级

下面首先阐述确定活动执行优先级的算法思想,然后使用伪码对算法进行形式化描述:

在ETL逻辑模型中,可能会存在多个数据供应关系,每一个数据供应关系都是以抽取操作开始,以加载操作结束的。在

ETL工作流活动优先级的确定及并行实现(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)