CN104598567B - 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 - Google Patents

一种基于Hadoop MapReduce编程框架的数据统计排重的方法 Download PDF

Info

Publication number
CN104598567B
CN104598567B CN201510013399.1A CN201510013399A CN104598567B CN 104598567 B CN104598567 B CN 104598567B CN 201510013399 A CN201510013399 A CN 201510013399A CN 104598567 B CN104598567 B CN 104598567B
Authority
CN
China
Prior art keywords
key
data
attribute
value
hadoop mapreduce
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.)
Active
Application number
CN201510013399.1A
Other languages
English (en)
Other versions
CN104598567A (zh
Inventor
李鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING SINOIOV VEHICLE NETWORK TECHNOLOGY Co Ltd
Original Assignee
BEIJING SINOIOV VEHICLE NETWORK TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING SINOIOV VEHICLE NETWORK TECHNOLOGY Co Ltd filed Critical BEIJING SINOIOV VEHICLE NETWORK TECHNOLOGY Co Ltd
Priority to CN201510013399.1A priority Critical patent/CN104598567B/zh
Publication of CN104598567A publication Critical patent/CN104598567A/zh
Application granted granted Critical
Publication of CN104598567B publication Critical patent/CN104598567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

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

一种基于Hadoop MapReduce编程框架的数据统计排重的方法
技术领域
本发明涉及大规模数据处理的技术领域,具体地涉及一种基于Hadoop MapReduce编程框架的数据统计排重的方法,适用于在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值相加。
CN201510013399.1A 2015-01-12 2015-01-12 一种基于Hadoop MapReduce编程框架的数据统计排重的方法 Active CN104598567B (zh)

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 CN104598567A (zh) 2015-05-06
CN104598567B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372213B (zh) * 2016-09-05 2019-05-03 天泽信息产业股份有限公司 一种位置分析方法
CN107506388A (zh) * 2017-07-27 2017-12-22 浙江工业大学 一种面向Spark并行计算框架的迭代式数据均衡优化方法
CN110209656B (zh) * 2019-04-26 2022-05-17 北京互金新融科技有限公司 数据处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915365A (zh) * 2012-10-24 2013-02-06 苏州两江科技有限公司 基于Hadoop的分布式搜索引擎构建方法
CN103995827A (zh) * 2014-04-10 2014-08-20 北京大学 MapReduce计算框架中的高性能排序方法
CN104063230A (zh) * 2014-07-09 2014-09-24 中国科学院重庆绿色智能技术研究院 基于MapReduce的粗糙集并行约简方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745014B2 (en) * 2011-10-19 2014-06-03 Pivotal Software, Inc. Time series data mapping into a key-value database
US9424274B2 (en) * 2013-06-03 2016-08-23 Zettaset, Inc. Management of intermediate data spills during the shuffle phase of a map-reduce job

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915365A (zh) * 2012-10-24 2013-02-06 苏州两江科技有限公司 基于Hadoop的分布式搜索引擎构建方法
CN103995827A (zh) * 2014-04-10 2014-08-20 北京大学 MapReduce计算框架中的高性能排序方法
CN104063230A (zh) * 2014-07-09 2014-09-24 中国科学院重庆绿色智能技术研究院 基于MapReduce的粗糙集并行约简方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Hadoop系统map阶段的排序性能分析与优化;周扬等;《电脑知识与技术》;20140331;第10卷(第7期);第1410-1412页 *
MapReduce中Combine优化机制的利用;贾欧阳等;《计算机时代》;20131231(第9期);第1-4页 *

Also Published As

Publication number Publication date
CN104598567A (zh) 2015-05-06

Similar Documents

Publication Publication Date Title
CN105446979B (zh) 数据挖掘方法和节点
CN105389349B (zh) 词典更新方法及装置
US9325344B2 (en) Encoding data stored in a column-oriented manner
CN106649401A (zh) 分布式文件系统中的数据写入方法和装置
CN110222029A (zh) 一种大数据多维分析计算效率提升方法及系统
CN104915717A (zh) 数据处理方法、知识库推理方法及相关装置
CN108650684A (zh) 一种关联规则确定方法及装置
CN104598567B (zh) 一种基于Hadoop MapReduce编程框架的数据统计排重的方法
US11899810B2 (en) Systems and methods for determining database permissions
Tang et al. An intermediate data partition algorithm for skew mitigation in spark computing environment
CN102915344B (zh) 一种sql语句处理方法及装置
CN111666468A (zh) 一种基于团簇属性在社交网络中搜索个性化影响力社区的方法
CN108415912A (zh) 基于MapReduce模型的数据处理方法和设备
CN110134646A (zh) 知识平台服务数据存储与集成方法及系统
CN107977504A (zh) 一种非对称堆芯燃料管理计算方法、装置及终端设备
CN117273954B (zh) 基于大规模关系图谱的股权关系穿透方法、装置及设备
CN113761390A (zh) 一种用于属性亲密度的分析方法和系统
CN109254962A (zh) 一种基于t-树的索引优化方法及装置
CN104794237B (zh) 网页信息处理方法及装置
CN111475511A (zh) 基于树状结构的数据存储方法、访问方法、装置及设备
CN110019783A (zh) 属性词聚类方法及装置
CN108763381A (zh) 基于一致性哈希算法的分表方法及设备
US11170025B1 (en) Systems and methods for improving computational speed of planning by caching optimization in hypercubes
CN114637752A (zh) 一种连接查询语句处理方法、装置、设备及存储介质
CN106528849A (zh) 面向完整历史记录的图查询开销方法

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