[发明专利]支持快速查询Map-Reduce输出结果的分桶方法、装置及设备在审
申请号: | 201510580544.4 | 申请日: | 2015-09-11 |
公开(公告)号: | CN105095515A | 公开(公告)日: | 2015-11-25 |
发明(设计)人: | 潘洪安 | 申请(专利权)人: | 北京金山安全软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张大威 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 快速 查询 map reduce 输出 结果 方法 装置 设备 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种支持快速查询Map-Reduce输出结果的分桶方法、装置及设备。
背景技术
Map-Reduce是hadoop中的分布式计算模型,且以Key-value(键值)为数据模型,可适合用于大规模数据集(大于1TB)的并行运算。Map(映射)是根据指定的算法对数据集中的各个数据进行计算,并将计算结果交由分桶模块,分桶模块根据指定的条件将计算结果发给相应的Reduce(归约)任务来处理。目前,Map-Reduce的计算结果都很庞大,支持最多99999个part输出文件,而现有的分桶方法大都不能支持快速查询到给定的Map任务中的key在哪个part文件中,只能通过新增Map-Reduce任务遍历所有的结果数据来查询Map任务中的key,这给使用Map-Reduce的数据用户带来了很大的不便。
相关技术中可将Map-Reduce的计算结果存储到HBase(一种分布式的、面向列的开源数据库)、MongoDB(一种非关系型数据库)或mySQL(一种关系型数据库管理系统)中,但是仍然存在以下问题:
1、由于Map-Reduce的计算果果数据量大,其导入到其他存储时,需要耗费大量时间和资源,导入代价较高;
2、如果Map-Reduce是小时级或天级运行的任务,则需要频繁地删除旧的存储记录,并建立新存储记录,数据使用率低,性价比低。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种支持快速查询Map-Reduce输出结果的分桶方法,该方法可以快速查询到Map任务中的key对应的计算结果,提高了数据分析的效率。
本发明的第二个目的在于提出一种支持快速查询Map-Reduce输出结果的分桶装置。
本发明的第三个目的在于提出一种设备。
为达上述目的,根据本发明第一方面实施例提出了一种支持快速查询Map-Reduce输出结果的分桶方法,包括以下步骤:获取Reduce任务的数量,并根据所述数量确定对应的哈希策略;根据所述哈希策略对Map任务中的Key进行哈希计算,生成第一整数标识;将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
根据本发明实施例的支持快速查询Map-Reduce输出结果的分桶方法,可根据Reduce任务的数量确定对应的哈希策略,并对Map任务中的Key进行哈希计算生成第一整数标识,再将第一整数标识作为Reduce任务的标识分配对应的Reduce任务进行处理,从而可以快速查询到Map任务中的key对应的计算结果,便于管理,节省了时间和资源,提高了数据分析的效率,且提高了数据用户的工作效率。
另外,根据本发明上述实施例的支持快速查询Map-Reduce输出结果的分桶方法还可以具有如下附加的技术特征:
根据本发明的一个实施例,所述方法还包括:对所述Map任务参数进行设置,将所述第一整数标识设置为键值。
根据本发明的一个实施例,所述将所述第一整数标识作为Reduce任务的标识包括:读取所述Map任务的键值,将所述键值作为Reduce任务的标识。
根据本发明的一个实施例,所述方法还包括:用所述第一整数标识命名所述Reduce任务进行处理之后的输出文件。
根据本发明的一个实施例,所述方法还包括:用户端根据所述哈希策略对预设的Key进行哈希计算以生成第二整数标识,从所述Reduce任务进行处理之后的输出文件中查询所述第二整数标识对应的结果数据。
根据本发明的一个实施例,所述第一整数标识和第二整数标识相等。
根据本发明的一个实施例,所述Reduce任务的数量为N,所述第一整数标识和第二整数标识大于或等于零且小于N。
根据本发明第二方面实施例提出了一种支持快速查询Map-Reduce输出结果的分桶装置,包括:确定模块用于获取Reduce任务的数量,根据所述数量确定对应的哈希策略;生成模块,用于根据所述哈希策略对Map任务中的key进行哈希计算以生成第一整数标识;分配模块,用于将所述第一整数标识作为Reduce任务的标识,并根据所述Reduce任务的标识分配对应的Reduce任务进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京金山安全软件有限公司,未经北京金山安全软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510580544.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种数据转换方法及装置
- 下一篇:一种检测异常数据区间的数据挖掘方法及系统