CN104598567A - 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 - Google Patents
一种基于Hadoop MapReduce编程框架的数据统计排重的方法 Download PDFInfo
- Publication number
- CN104598567A CN104598567A CN201510013399.1A CN201510013399A CN104598567A CN 104598567 A CN104598567 A CN 104598567A CN 201510013399 A CN201510013399 A CN 201510013399A CN 104598567 A CN104598567 A CN 104598567A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- attribute
- value
- mapreduce programming
- 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.)
- Granted
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (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 MapReduce编程框架的数据统计排重的方法,该方法基于Hadoop MapReduce编程框架的key和value的划分机制,包括步骤:(1)每个map分别处理各自分区的数据,将数据对象object和其对应的每个attribute分别结合,形成不同的关键词key;将每个属性attribute对应的权重weight划分为其与object结合形成的key的权值value,从而形成key/value对;(2)按照key将数据划分到不同的reduce分区,并对不同的reduce分区的数据分别按照key排序;(3)将步骤(2)的数据写回该map节点的磁盘。
Description
技术领域
本发明涉及大规模数据处理的技术领域,具体地涉及一种基于HadoopMapReduce编程框架的数据统计排重的方法,适用于在Hadoop上进行大规模数据的属性统计。
背景技术
对于大规模数据的属性统计,现有的解决方法通常会使用散列表,也叫hash表,对相同的key统计其各个属性出现的次数,或者计算各个属性对应的权重之和。
其计算过程为将object划分key,将object对应的所有的attribute和weight划分为value。对于数据集中所有相同的object,将它们所有相同attribute的weight值相加,并将所有attribute与weight之和使用hash表存储于内存中。如图3所示,由于有装载因子限制,其中会有空的存储空间。
这种方法存在以下不足:
1、hash表在内存中开辟的空间需要根据装载因子确定,通常装载因子都会小于1,Java的HashMap的装载因子默认为0.75。这意味着存储75条数据就需要开辟100条数据所占用的空间。
2、在上述过程中使用的存储空间全部在内存中,如果装载量比例大于装载因子,hash表会重新调整存储空间。由于该操作通常应用于一些属性的量不确定的对象,例如图4,比如一个用户在搜索引擎中搜索的关键词、一辆车经过的地理位置信息等等。在这些例子中有的对象的属性量分布不均匀。有的用户搜索的关键词非常多,而有的就比较少。尤其是将一个用户一个月的数量全部统计时,面临的完全是TB级的数据。如果使用hash表,其占用的内存空间是无法预料的。所以有的计算节点会特别慢,当开辟内存过多时,会使计算节点宕机,最终也无法得到结果。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供一种基于HadoopMapReduce编程框架的数据统计排重的方法,其无需开辟过多的存储空间,就能够从容应对更大量数据的排重统计。
本发明的技术解决方案是:这种基于Hadoop MapReduce编程框架的数据统计排重的方法,该方法使用Hadoop的MapReduce的key和value的划分机制,包括以下步骤:
(1)每个map分别处理各自分区的数据,将数据对象object和其对应的每个attribute分别结合,形成不同的关键词key;将每个属性attribute对应的权重weight划分为其与object结合形成的key的权值value,从而形成key/value对;
(2)按照key将数据划分到不同的reduce分区,并对不同的reduce分区的数据分别按照key排序;
(3)将步骤(2)的数据写回该map节点的磁盘。
本发明使用了MapReduce的key和value的划分机制,无需开辟过多的存储空间,不会过度依赖于内存,所以当遇到更大量的数据,通常是几个TB,几十个TB,也就是几个月的数据时,可以从容应对。
附图说明
图1为规整数据。
图2为根据本发明的MapReduce的执行示意图。
图3为现有技术的计算方法的示意图。
图4为不规整数据。
图5为根据本发明的Map的过程示意图。
图6为根据本发明的Reduce的过程示意图。
具体实施方式
本发明是一种Hadoop的MapReduce设计模式,适用于在Hadoop上进行大规模数据属性统计(只适用于专利中遇到的统计情景)。不同于普通利用字典的方法,巧妙利用Hadoop的MapReduce特性,对单个对象进行大量属性的统计。
本发明所面对的情景如图1所示(后续图中分别使用O代表object,A代表attribute,W代表weight),即统计每个对象所对应的所有出现的属性的总权重。
如图2所示,这种基于Hadoop MapReduce编程框架的数据统计排重的方法,该方法使用Hadoop的MapReduce的key和value的划分机制,包括以下步骤:
(1)每个map分别处理各自分区的数据,将数据对象object和其对应的每个attribute分别结合,形成不同的关键词key;将每个属性attribute对应的权重weight划分为其与object结合形成的key的权值value,从而形成key/value对;
(2)按照key将数据划分到不同的reduce分区,并对不同的reduce分区的数据分别按照key排序;
(3)将步骤(2)的数据写回该map节点的磁盘。
本发明使用了MapReduce的key和value的划分机制,无需开辟过多的存储空间,不会过度依赖于内存,所以当遇到更大量的数据,通常是几个TB,几十个TB,也就是几个月的数据时,也可以从容应对。
另外,如图2、5所示,该方法还包括以下步骤:
(4)每个reduce计算节点从各个map节点取走属于该reduce计算节点的数据,对取回的所有数据按照key进行merger排序;
(5)相同key对应的value形成一个列表,并返回该列表的一个迭代子;
(6)对每个key对应的数据集列表进行合并处理;
(7)输出处理结果。
另外,如图6所示,所述步骤(1)还包括:对每个由object和attribute形成的key,将key相同的weight值相加。
相比于现有技术,该技术执行过程中不会过度依赖于内存,所以当遇到更大量的数据,通常是几个TB,几十个TB,也就是几个月的数据时,可以从容应对,仅仅是使用了MapReduce的key和value的划分机制,并没有开辟更多的内存空间。但使用hash表,就有可能因为有的对象的属性过多,需要开辟过多的存储空间,使得计算节点宕机也得不到计算结果。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。
Claims (3)
1.一种基于Hadoop MapReduce编程框架的数据统计排重的方法,其特征在于:该方法基于Hadoop MapReduce编程框架的key和value的划分机制,包括以下步骤:
(1)每个map分别处理各自分区的数据,将数据对象object和其对应的每个attribute分别结合,形成不同的关键词key;将每个属性attribute对应的权重weight划分为其与object结合形成的key的权值value,从而形成key/value对;
(2)按照key将数据划分到不同的reduce分区,并对不同的reduce分区的数据分别按照key排序;
(3)将步骤(2)的数据写回该map节点的磁盘。
2.根据权利要求1所述的基于Hadoop MapReduce编程框架的数据统计排重的方法,其特征在于:该方法还包括以下步骤:
(4)每个reduce计算节点从各个map节点取走属于该reduce计算节点的数据,对取回的所有数据按照key进行merger排序;
(5)相同key对应的value形成一个列表,并返回该列表的一个迭代子;
(6)对每个key对应的数据集列表进行合并处理;
(7)输出处理结果。
3.根据权利要求2所述的基于Hadoop MapReduce编程框架的数据统计排重的方法,其特征在于:所述步骤(1)还包括:对每个由object和attribute形成的key,将key相同的weight值相加。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510013399.1A CN104598567B (zh) | 2015-01-12 | 2015-01-12 | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510013399.1A CN104598567B (zh) | 2015-01-12 | 2015-01-12 | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598567A true CN104598567A (zh) | 2015-05-06 |
CN104598567B CN104598567B (zh) | 2018-01-09 |
Family
ID=53124352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510013399.1A Active CN104598567B (zh) | 2015-01-12 | 2015-01-12 | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598567B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372213A (zh) * | 2016-09-05 | 2017-02-01 | 天泽信息产业股份有限公司 | 一种位置分析方法 |
CN107506388A (zh) * | 2017-07-27 | 2017-12-22 | 浙江工业大学 | 一种面向Spark并行计算框架的迭代式数据均衡优化方法 |
CN110209656A (zh) * | 2019-04-26 | 2019-09-06 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915365A (zh) * | 2012-10-24 | 2013-02-06 | 苏州两江科技有限公司 | 基于Hadoop的分布式搜索引擎构建方法 |
US20130103658A1 (en) * | 2011-10-19 | 2013-04-25 | Vmware, Inc. | Time series data mapping into a key-value database |
CN103995827A (zh) * | 2014-04-10 | 2014-08-20 | 北京大学 | MapReduce计算框架中的高性能排序方法 |
CN104063230A (zh) * | 2014-07-09 | 2014-09-24 | 中国科学院重庆绿色智能技术研究院 | 基于MapReduce的粗糙集并行约简方法、装置及系统 |
US20140358977A1 (en) * | 2013-06-03 | 2014-12-04 | Zettaset, Inc. | Management of Intermediate Data Spills during the Shuffle Phase of a Map-Reduce Job |
-
2015
- 2015-01-12 CN CN201510013399.1A patent/CN104598567B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130103658A1 (en) * | 2011-10-19 | 2013-04-25 | Vmware, Inc. | Time series data mapping into a key-value database |
CN102915365A (zh) * | 2012-10-24 | 2013-02-06 | 苏州两江科技有限公司 | 基于Hadoop的分布式搜索引擎构建方法 |
US20140358977A1 (en) * | 2013-06-03 | 2014-12-04 | Zettaset, Inc. | Management of Intermediate Data Spills during the Shuffle Phase of a Map-Reduce Job |
CN103995827A (zh) * | 2014-04-10 | 2014-08-20 | 北京大学 | MapReduce计算框架中的高性能排序方法 |
CN104063230A (zh) * | 2014-07-09 | 2014-09-24 | 中国科学院重庆绿色智能技术研究院 | 基于MapReduce的粗糙集并行约简方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
周扬等: "Hadoop系统map阶段的排序性能分析与优化", 《电脑知识与技术》 * |
贾欧阳等: "MapReduce中Combine优化机制的利用", 《计算机时代》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372213A (zh) * | 2016-09-05 | 2017-02-01 | 天泽信息产业股份有限公司 | 一种位置分析方法 |
CN106372213B (zh) * | 2016-09-05 | 2019-05-03 | 天泽信息产业股份有限公司 | 一种位置分析方法 |
CN107506388A (zh) * | 2017-07-27 | 2017-12-22 | 浙江工业大学 | 一种面向Spark并行计算框架的迭代式数据均衡优化方法 |
CN110209656A (zh) * | 2019-04-26 | 2019-09-06 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
CN110209656B (zh) * | 2019-04-26 | 2022-05-17 | 北京互金新融科技有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104598567B (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6928104B2 (ja) | ブロック・チェーンにサービス・データを書き込むための方法および装置、ならびにサービス・サブセットを判定するための方法 | |
US10171284B2 (en) | Reachability-based coordination for cyclic dataflow | |
CN106777351A (zh) | 基于art树分布式系统图存储计算系统及其方法 | |
US10831843B2 (en) | Grouping aggregation with filtering aggregation query processing | |
CN109446205B (zh) | 判断数据状态的装置和方法以及数据更新的装置和方法 | |
CN106599091B (zh) | 基于键值存储的rdf图结构存储和索引方法 | |
CN112015741A (zh) | 一种海量数据的分库分表存储方法与装置 | |
US20100057647A1 (en) | Accommodating learned clauses in reconfigurable hardware accelerator for boolean satisfiability solver | |
CN104111936A (zh) | 数据查询方法和系统 | |
CN104915717A (zh) | 数据处理方法、知识库推理方法及相关装置 | |
CN107577787A (zh) | 关联数据信息入库的方法及系统 | |
CN104598567A (zh) | 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 | |
US9715514B2 (en) | K-ary tree to binary tree conversion through complete height balanced technique | |
US10853370B2 (en) | Devices and/or methods to provide a query response based on ephemeral data | |
US20200257684A1 (en) | Higher-order data sketching for ad-hoc query estimation | |
CN103995831A (zh) | 基于物品间相似度的物品处理方法、系统和装置 | |
CN108121807B (zh) | Hadoop环境下多维索引结构OBF-Index的实现方法 | |
CN109254962A (zh) | 一种基于t-树的索引优化方法及装置 | |
US9665623B1 (en) | Key-value store utilizing ranged keys in skip list data structure | |
CN108763381A (zh) | 基于一致性哈希算法的分表方法及设备 | |
CN109359156B (zh) | 数据存储结构处理方法和装置 | |
CN111143232B (zh) | 用于存储元数据的方法、设备和计算机可读介质 | |
Keswani et al. | Enhanced approach to attain competent Big Data pre-processing | |
Choi et al. | Optimization of Dominance Testing in Skyline Queries Using Decision Trees | |
CN111143324B (zh) | 一种kudu的基于大小的数据库数据均衡系统及实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |