一种基于hadoop平台的事实并行处理方法

文档序号:8543760阅读:135来源:国知局
一种基于hadoop平台的事实并行处理方法
【技术领域】
[0001]本发明涉及一种基于HADOOP平台下的分布式ETL过程中事实并行处理方法。
【背景技术】
[0002]在数据仓库领域,数据抽取、转换和加载(Extract-Transform-Load,ETL)过程主要负责从不同的数据源收集数据,按照用户定义的业务规则和需求,对收集的数据集进行转换和清洗,最后按照目标数据仓库的结构加载到数据仓库中。如今,传统的ETL技术正面临着信息爆炸的新挑战,比如,一个企业每天收集几百GB的数据进行处理和分析是相当普遍的。但是,如此巨大的数据量将使传统的ETL方法极度的消耗时间,而且用户要求处理数据的时间窗口又比较短。
[0003]因此,为了能够快速适应变化的业务环境和客户需求,并行计算技术的使用是获取最佳性能和高扩展性的关键所在。近几年来,在密集型数据领域,新颖的云计算技术:MapReduce已经广泛用于并行计算。首先,MapReduce是Hadoop框架的一个通用编程模型,该模型可以向并行的ETL过程提供进程间的通信,容错,负载均衡和作业调度。另外,MapReduce也是一个非常流行的框架,本身是按照大规模密集型数据处理的站点标准而建立的。因而,Hadoop平台下的分布式ETL处理很有应用前景。事实处理是ETL过程的第二步,该过程主要涉及到引用维度表中代理键的查找。其中在维度建模理论中渐变维度主要有两种类型,分为类型I和类型2。类型I的渐变维度采用的是直接对历史进行更新的方法,也就是说,不需要记录维度的历史变化情况;类型2的渐变维度采用的是更新-插入的方法,此类型的渐变维度需要额外添加两个时间戳字段和一个标识字段,其中两个时间戳字段分别示维度的开始生效时间和失效时间,标识字段表示维度是否为当前正在使用。然而,在Hadoop平台下,代理键的查找效率不是很高。因为事实的数据量比维度的数据量大几个甚至几十个数量级,事实数据的处理是影响整个系统性能的关键点,因而在Hadoop平台下快速高效的查找代理键的方法是十分重要和必需的。

【发明内容】

[0004]本发明的目的是提供一种基于Hadoop平台下的事实并行处理实现策略,实现Hadoop平台下的事实并行处理,提高事实的处理效率。
[0005]为了达到上述目的,本发明的技术方案是提供了一种基于HADOOP平台的事实并行处理方法,其特征在于,包括以下步骤:
[0006]步骤1、将渐变维度数据集CacheDims存入本地缓存;
[0007]步骤2、初始化维度数据集Dims = Φ,同时从本地缓存中获取渐变维度数据集CacheDims,转步骤 3 ;
[0008]步骤3、如果渐变维度数据集CacheDims是类型2的渐变维度,则转步骤4,否则转步骤5 ;
[0009]步骤4、如果渐变维度数据集CacheDims未遍历结束,则从中读取一行记录,记为Dim,从Dim获取自然键NK、代理键SK、维度开始生效时间ST和维度开始失效时间ET,并存入维度数据集Dims中,继续步骤4,否则转步骤6 ;
[0010]步骤5、如果渐变维度数据集CacheDims未遍历结束,则从中读取一行记录,记为Dim,从Dim获取自然键NK和代理键SK,并存入维度数据集Dims中,继续步骤5,否则转步骤6 ;
[0011]步骤6、输出维度数据集Dims ;
[0012]步骤7、如果维度数据集Dims中的值value不为空,则转步骤8,否则结束;
[0013]步骤8、如果维度数据集Dims为类型2的渐变维度,则转步骤9,否则转步骤10 ;
[0014]步骤9、遍历维度数据集Dims,将值value中相应的字段和自然键NK、维度开始生效时间ST和维度开始失效时间ET进行匹配,查找出正确的代理键SK,将代理键SK作为key’,值value中的度量值作为value’,转步骤11 ;
[0015]步骤10、遍历维度数据集Dims,将值value中相应的字段和自然键NK进行匹配,查找出正确的代理键SK,将代理键SK作为key’,值value中的度量值作为value’,转步骤11 ;
[0016]步骤11、输出< key’,value’ >。
[0017]本方法提供了一种基于Hadoop平台下的事实并行处理方法,针对不同数据量的情况,提供了相应的并行处理方法,使其能实现多路并行处理;同时也根据两种不同类型的渐变维度表,分别考虑了不同的查找方法,从而实现了 Hadoop平台下的事实并行处理,提高了事实处理的效率。
【具体实施方式】
[0018]为使本发明更明显易懂,兹以优选实施例作详细说明如下。
[0019]本发明的技术方案提供了一种基于Hadoop平台下的事实并行处理方法。由于事实数据量非常大,而且事实的处理主要是查找维度键,因此,为了加快事实的处理,本方法将从事实表查找维度键的方向着手,采用多路并行查找的方法提高事实的处理效率,同时针对不同类型的维度表,分别考虑了不同的查找方法。其具体步骤为:
[0020]步骤1、将渐变维度数据集CacheDims存入本地缓存;
[0021]步骤2、初始化维度数据集Dims = Φ,同时从本地缓存中获取渐变维度数据集CacheDims,转步骤 3 ;
[0022]步骤3、如果渐变维度数据集CacheDims是类型2的渐变维度,则转步骤4,否则转步骤5 ;
[0023]步骤4、如果渐变维度数据集CacheDims未遍历结束,则从中读取一行记录,记为Dim,从Dim获取自然键NK、代理键SK、维度开始生效时间ST和维度开始失效时间ET,并存入维度数据集Dims中,继续步骤4,否则转步骤6 ;
[0024]步骤5、如果渐变维度数据集CacheDims未遍历结束,则从中读取一行记录,记为Dim,从Dim获取自然键NK和代理键SK,并存入维度数据集Dims中,继续步骤5,否则转步骤6 ;
[0025]步骤6、输出维度数据集Dims ;
[0026]步骤7、如果维度数据集Dims中的值value不为空,则转步骤8,否则结束;
[0027]步骤8、如果维度数据集Dims为类型2的渐变维度,则转步骤9,否则转步骤10 ;
[0028]步骤9、遍历维度数据集Dims,将值value中相应的字段和自然键NK、维度开始生效时间ST和维度开始失效时间ET进行匹配,查找出正确的代理键SK,将代理键SK作为key’,值value中的度量值作为value’,转步骤11 ;
[0029]步骤10、遍历维度数据集Dims,将值value中相应的字段和自然键NK进行匹配,查找出正确的代理键SK,将代理键SK作为key’,值value中的度量值作为value’,转步骤11 ;
[0030]步骤11、输出< key,,value,>。
[0031]步骤I的特点在于,可以根据不同的数据量情况选择不同的处理方法:
[0032]第一种情况是当渐变维度表的数据量比较小时,可以完全装入到内存中,首先在MapReduce作业启动之前将类型I的渐变维度表的自然键和代理键或者类型2的渐变维度的自然键,代理键和两个时间戳字段存储到每一个Tasktracker的内存中,然后进行下面的查找过程;
[0033]第二种情况是当渐变维度表的数据量比较大时,导致其无法完全被存储在主存中。本方法引入了分区的方法,该方法的主要思想是将渐变维度表与事实表按照相同的分区函数进行分区,经过分区后,自然键相同的维度和事实数据将会出现在同一个分区中,从可以保证下面的并行查找过程。
【主权项】
1.一种基于HADOOP平台的事实并行处理方法,其特征在于,包括以下步骤: 步骤1、将渐变维度数据集CacheDims存入本地缓存; 步骤2、初始化维度数据集Dims = Φ,同时从本地缓存中获取渐变维度数据集CacheDims,转步骤 3 ; 步骤3、如果渐变维度数据集CacheDims是类型2的渐变维度,则转步骤4,否则转步骤5 ; 步骤4、如果渐变维度数据集CacheDims未遍历结束,则从中读取一行记录,记为Dim,从Dim获取自然键NK、代理键SK、维度开始生效时间ST和维度开始失效时间ET,并存入维度数据集Dims中,继续步骤4,否则转步骤6 ; 步骤5、如果渐变维度数据集CacheDims未遍历结束,则从中读取一行记录,记为Dim,从Dim获取自然键NK和代理键SK,并存入维度数据集Dims中,继续步骤5,否则转步骤6 ;步骤6、输出维度数据集Dims ; 步骤7、如果维度数据集Dims中的值value不为空,则转步骤8,否则结束; 步骤8、如果维度数据集Dims为类型2的渐变维度,则转步骤9,否则转步骤10 ; 步骤9、遍历维度数据集Dims,将值value中相应的字段和自然键NK、维度开始生效时间ST和维度开始失效时间ET进行匹配,查找出正确的代理键SK,将代理键SK作为key’,值value中的度量值作为value’,转步骤11 ; 步骤10、遍历维度数据集Dims,将值value中相应的字段和自然键NK进行匹配,查找出正确的代理键SK,将代理键SK作为key’,值value中的度量值作为value’,转步骤11 ;步骤 11、输出〈key’,value’ >o
【专利摘要】本发明提供了一种基于Hadoop平台下的事实并行处理方法。由于事实数据量非常大,而且事实的处理主要是查找维度键,因此,为了加快事实的处理,本方法将从事实表查找维度键的方向着手,采用多路并行查找的方法提高事实的处理效率,同时针对不同类型的维度表,分别考虑了不同的查找方法。本发明针对不同数据量的情况,提供了相应的并行处理方法,使其能实现多路并行处理;同时也根据两种不同类型的渐变维度表,分别考虑了不同的查找方法,从而实现了Hadoop平台下的事实并行处理,提高了事实处理的效率。
【IPC分类】G06F17-30
【公开号】CN104866562
【申请号】CN201510259107
【发明人】李继云, 孙莉, 解书亮, 何刚, 丁祥武, 乐嘉锦, 施巍
【申请人】东华大学
【公开日】2015年8月26日
【申请日】2015年5月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1