[发明专利]优化数据访问的方法及装置、优化数据存储的方法及装置有效
申请号: | 201180002537.6 | 申请日: | 2011-11-28 |
公开(公告)号: | CN102725753A | 公开(公告)日: | 2012-10-10 |
发明(设计)人: | 智伟;赵智峰;周帅锋 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 优化 数据 访问 方法 装置 存储 | ||
技术领域
本发明涉及数据处理技术领域,具体涉及一种优化数据访问的方法及装置、以及一种优化数据存储的方法及装置。
背景技术
MapReduce作为大规模数据并行处理方法,已经广泛应用于大规模数据分析中。HBASE(Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,HBASE可以作为MapReduce的数据来源和数据目的地,从而使得MapReduce能够处理HBASE中保存的数据或者将输出数据保存在HBASE中。
在HBASE作为MapReduce的数据来源时,通过表名和范围查询对象来定义MapReduce访问的表和访问的数据范围,其中范围查询对象通过制定起始键值和终止键值来定义数据查询范围。
当用户程序调用MapReduce函数,就会引起如下操作:
(1)MapReduce根据表名从HBASE中获取制定表的所有分区(Region)信息,通过比较范围查询对象定义数据范围和所有分区信息得到分块信息和个数M。
(2)主控制器根据分块信息和个数创建Map(映射)任务,每个Map任务处理一个分块中的数据。
(3)其它流程同基本MapReduce过程。
在HBASE作为MapReduce的数据目的地时,通过表名来定义MapReduce数据将要保存的表,主要有如下操作:
(1)用户程序中的MapReduce函数库首先将输入文件分成M块,根据数据要保存的表,访问HBASE元数据表得到表对应的范围信息,通过范围信息指定Reduce(化简)个数R。
(2)主控制器得到输入划分信息,为每个划分创建一个Map任务。根据配置的Reduce数量,创建Reduce任务。总共有M个Map任务和R个Reduce任务需要分派。主控制器向从处理器分派任务。总共有M个Map任务和R个Reduce任务需要分派。
(3)其它流程同基本MapReduce过程。
由上述处理过程可以看出,现有技术至少存在以下问题:
在HBASE作为MapReduce的数据来源时,根据一个范围查询对象中的数据查询范围来定义MapReduce访问的数据范围,为了使符合要求的记录数据不被遗漏,只能通过扩大范围查询对象指定的数据范围,从而导致涵盖过多分区且分区中包含大量无效数据。MapReduce程序读取分区中的符合要求的记录外,还必须读取大量无效记录进行比较并丢弃,造成大量无效操作,严重降低了数据处理执行速度。
在HBASE作为MapReduce的数据目的地时,如果数据保存的分区范围有限,则会产生多个无用Reduce进程,浪费调度时间和系统资源,降低了数据处理执行速度。
发明内容
本发明实施例一方面提供一种优化数据访问的方法及装置,以减少无效数据的读取,提高数据处理效率。
本发明实施例一方面提供一种优化数据存储的方法及装置,以减少无效MapReduce任务的执行,提高数据处理效率。
为了解决以上技术问题,本发明实施例采取的技术方案是:
一种优化数据访问的方法,包括:
主控制器接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
根据所述输入分块信息确定Map任务个数;
按照所述Map任务个数分配从处理器读取所述数据表中的数据;
将所述从处理器读取的数据返回给所述用户。
一种优化数据存储的方法,包括:
主控制器接收用户向HBASE中数据表存储数据的请求,所述请求中携带一个或多个数据输出范围;
根据所述数据表的分区信息及所述数据输出范围,确定输出分块信息;
根据所述输出分块信息确定Reduce任务个数;
按照所述Reduce任务个数分配从处理器向所述数据表中写入数据。
一种优化数据访问的装置,包括:
接收单元,用于接收用户访问HBASE中数据表的请求,所述请求中携带数据输入范围信息,所述数据输入范围信息包括多个数据输入范围;
输入分块单元,用于根据所述数据表的分区信息及所述数据输入范围信息,确定输入分块信息;
任务确定单元,用于根据所述输入分块信息确定Map任务个数;
分配单元,用于按照所述Map任务个数分配从处理器读取所述数据表中的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180002537.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:内容处理方法、装置和系统
- 下一篇:同等型特异性抗HER4抗体
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置