CN104866562A - 一种基于hadoop平台的事实并行处理方法 - Google Patents
一种基于hadoop平台的事实并行处理方法 Download PDFInfo
- Publication number
- CN104866562A CN104866562A CN201510259107.2A CN201510259107A CN104866562A CN 104866562 A CN104866562 A CN 104866562A CN 201510259107 A CN201510259107 A CN 201510259107A CN 104866562 A CN104866562 A CN 104866562A
- Authority
- CN
- China
- Prior art keywords
- dimension
- data collection
- value
- dimension data
- dims
- 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/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
本发明提供了一种基于Hadoop平台下的事实并行处理方法。由于事实数据量非常大,而且事实的处理主要是查找维度键,因此,为了加快事实的处理,本方法将从事实表查找维度键的方向着手,采用多路并行查找的方法提高事实的处理效率,同时针对不同类型的维度表,分别考虑了不同的查找方法。本发明针对不同数据量的情况,提供了相应的并行处理方法,使其能实现多路并行处理;同时也根据两种不同类型的渐变维度表,分别考虑了不同的查找方法,从而实现了Hadoop平台下的事实并行处理,提高了事实处理的效率。
Description
技术领域
本发明涉及一种基于HADOOP平台下的分布式ETL过程中事实并行处理方法。
背景技术
在数据仓库领域,数据抽取、转换和加载(Extract-Transform-Load,ETL)过程主要负责从不同的数据源收集数据,按照用户定义的业务规则和需求,对收集的数据集进行转换和清洗,最后按照目标数据仓库的结构加载到数据仓库中。如今,传统的ETL技术正面临着信息爆炸的新挑战,比如,一个企业每天收集几百GB的数据进行处理和分析是相当普遍的。但是,如此巨大的数据量将使传统的ETL方法极度的消耗时间,而且用户要求处理数据的时间窗口又比较短。
因此,为了能够快速适应变化的业务环境和客户需求,并行计算技术的使用是获取最佳性能和高扩展性的关键所在。近几年来,在密集型数据领域,新颖的云计算技术:MapReduce已经广泛用于并行计算。首先,MapReduce是Hadoop框架的一个通用编程模型,该模型可以向并行的ETL过程提供进程间的通信,容错,负载均衡和作业调度。另外,MapReduce也是一个非常流行的框架,本身是按照大规模密集型数据处理的站点标准而建立的。因而,Hadoop平台下的分布式ETL处理很有应用前景。事实处理是ETL过程的第二步,该过程主要涉及到引用维度表中代理键的查找。其中在维度建模理论中渐变维度主要有两种类型,分为类型1和类型2。类型1的渐变维度采用的是直接对历史进行更新的方法,也就是说,不需要记录维度的历史变化情况;类型2的渐变维度采用的是更新-插入的方法,此类型的渐变维度需要额外添加两个时间戳字段和一个标识字段,其中两个时间戳字段分别示维度的开始生效时间和失效时间,标识字段表示维度是否为当前正在使用。然而,在Hadoop平台下,代理键的查找效率不是很高。因为事实的数据量比维度的数据量大几个甚至几十个数量级,事实数据的处理是影响整个系统性能的关键点,因而在Hadoop平台下快速高效的查找代理键的方法是十分重要和必需的。
发明内容
本发明的目的是提供一种基于Hadoop平台下的事实并行处理实现策略,实现Hadoop平台下的事实并行处理,提高事实的处理效率。
为了达到上述目的,本发明的技术方案是提供了一种基于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’>。
本方法提供了一种基于Hadoop平台下的事实并行处理方法,针对不同数据量的情况,提供了相应的并行处理方法,使其能实现多路并行处理;同时也根据两种不同类型的渐变维度表,分别考虑了不同的查找方法,从而实现了Hadoop平台下的事实并行处理,提高了事实处理的效率。
具体实施方式
为使本发明更明显易懂,兹以优选实施例作详细说明如下。
本发明的技术方案提供了一种基于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’>。
步骤1的特点在于,可以根据不同的数据量情况选择不同的处理方法:
第一种情况是当渐变维度表的数据量比较小时,可以完全装入到内存中,首先在MapReduce作业启动之前将类型1的渐变维度表的自然键和代理键或者类型2的渐变维度的自然键,代理键和两个时间戳字段存储到每一个Tasktracker的内存中,然后进行下面的查找过程;
第二种情况是当渐变维度表的数据量比较大时,导致其无法完全被存储在主存中。本方法引入了分区的方法,该方法的主要思想是将渐变维度表与事实表按照相同的分区函数进行分区,经过分区后,自然键相同的维度和事实数据将会出现在同一个分区中,从可以保证下面的并行查找过程。
Claims (1)
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’>。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259107.2A CN104866562A (zh) | 2015-05-20 | 2015-05-20 | 一种基于hadoop平台的事实并行处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510259107.2A CN104866562A (zh) | 2015-05-20 | 2015-05-20 | 一种基于hadoop平台的事实并行处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104866562A true CN104866562A (zh) | 2015-08-26 |
Family
ID=53912388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510259107.2A Pending CN104866562A (zh) | 2015-05-20 | 2015-05-20 | 一种基于hadoop平台的事实并行处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866562A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940698A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种维度数据处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
CN102360379A (zh) * | 2011-10-10 | 2012-02-22 | 浙江鸿程计算机系统有限公司 | 一种多维数据立方体增量聚合及查询优化方法 |
WO2013009503A2 (en) * | 2011-07-08 | 2013-01-17 | Yale University | Query execution systems and methods |
-
2015
- 2015-05-20 CN CN201510259107.2A patent/CN104866562A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799807A (zh) * | 2009-02-10 | 2010-08-11 | 中国移动通信集团公司 | 一种异构数据表的合并方法及其系统 |
WO2013009503A2 (en) * | 2011-07-08 | 2013-01-17 | Yale University | Query execution systems and methods |
CN102360379A (zh) * | 2011-10-10 | 2012-02-22 | 浙江鸿程计算机系统有限公司 | 一种多维数据立方体增量聚合及查询优化方法 |
Non-Patent Citations (1)
Title |
---|
何刚: "基于Hadoop平台的分布式ETL研究与实现", 《中国优秀硕士学位论文全文数据库·信息科技辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106940698A (zh) * | 2016-01-05 | 2017-07-11 | 阿里巴巴集团控股有限公司 | 一种维度数据处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162550B2 (en) | Large-scale, dynamic graph storage and processing system | |
EP2924594B1 (en) | Data encoding and corresponding data structure in a column-store database | |
US20140358845A1 (en) | Data warehouse compatibility | |
CN102521406A (zh) | 海量结构化数据复杂查询任务的分布式查询方法和系统 | |
WO2016018942A1 (en) | Systems and methods for an sql-driven distributed operating system | |
CN102521405A (zh) | 支持高速加载的海量结构化数据存储、查询方法和系统 | |
CN102662639A (zh) | 一种基于Mapreduce的多GPU协同计算方法 | |
CN102332030A (zh) | 用于分布式键-值存储系统的数据存储、管理和查询方法及系统 | |
CN111966677B (zh) | 数据报表的处理方法、装置、电子设备及存储介质 | |
US11210211B2 (en) | Key data store garbage collection and multipart object management | |
US10824612B2 (en) | Key ticketing system with lock-free concurrency and versioning | |
CN103353901A (zh) | 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统 | |
CN104111936A (zh) | 数据查询方法和系统 | |
CN102054000A (zh) | 数据查询方法、装置及系统 | |
Gupta et al. | Faster as well as early measurements from big data predictive analytics model | |
CN105574054A (zh) | 一种分布式缓存范围查询方法、装置及系统 | |
CN102779138A (zh) | 实时数据的硬盘存取方法 | |
CN108062384A (zh) | 数据检索的方法和装置 | |
CN105320746A (zh) | 一种基于大数据的索引获取方法及系统 | |
CN101122978A (zh) | 合约风险转嫁系统及方法 | |
CN105610881B9 (zh) | 一种分布式缓存范围查询方法、装置及系统 | |
CN114116827A (zh) | 一种用户画像数据的查询系统及方法 | |
CN106776810B (zh) | 一种大数据的数据处理系统及方法 | |
CN104866562A (zh) | 一种基于hadoop平台的事实并行处理方法 | |
CN107291938A (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: 20150826 |