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
- value
- data collection
- dims
- key
- 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 OR CALCULATING; 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 |
|---|---|---|
| Khasawneh et al. | Sql, newsql, and nosql databases: A comparative survey | |
| Venkatraman et al. | SQL versus NoSQL movement with big data analytics | |
| Dede et al. | Performance evaluation of a mongodb and hadoop platform for scientific data analysis | |
| Kadadi et al. | Challenges of data integration and interoperability in big data | |
| Gürcan et al. | Real-time processing of big data streams: Lifecycle, tools, tasks, and challenges | |
| US10152558B2 (en) | Graph operations | |
| CN103902698B (zh) | 一种数据存储系统和存储方法 | |
| CN103745008B (zh) | 一种大数据索引的排序方法 | |
| WO2015106711A1 (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
| CN106970929B (zh) | 数据导入方法及装置 | |
| CN101963993B (zh) | 一种数据库单表记录快速查找的方法 | |
| CN104111936A (zh) | 数据查询方法和系统 | |
| CN103440246A (zh) | 用于MapReduce的中间结果数据排序方法及系统 | |
| CN112817930A (zh) | 一种数据迁移的方法和装置 | |
| US20130046798A1 (en) | Method and apparatus for visualization of infrastructure using a non-relational graph data store | |
| CN104778182A (zh) | 基于HBase的数据导入方法和系统 | |
| Gupta et al. | Faster as well as early measurements from big data predictive analytics model | |
| Sarlis et al. | Datix: A system for scalable network analytics | |
| CN105447105A (zh) | 基于NoSQL的分布式物联网数据的单字段区间索引查询方式 | |
| Pothuganti | Big data analytics: Hadoop-Map reduce & NoSQL databases | |
| CN106776810B (zh) | 一种大数据的数据处理系统及方法 | |
| CN104866562A (zh) | 一种基于hadoop平台的事实并行处理方法 | |
| CN106897450A (zh) | 一种基于HDFS海量数据快速导入HBase的方法 | |
| Delchev et al. | Big Data Analysis Architecture | |
| CN107203554A (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 |
Application publication date: 20150826 |
|
| WD01 | Invention patent application deemed withdrawn after publication |