[发明专利]一种数据处理方法及系统有效

专利信息
申请号: 201110160630.1 申请日: 2011-06-15
公开(公告)号: CN102831120B 公开(公告)日: 2017-07-21
发明(设计)人: 张书彬;赵彦荣;郭玮;李均;赵伟;洪坤乾;徐钊 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 深圳市深佳知识产权代理事务所(普通合伙)44285 代理人: 王仲凯
地址: 518057 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据处理 方法 系统
【说明书】:

技术领域

发明涉及一种数据处理方法及系统。

背景技术

对于基于Map/Reduce(映射/化简)框架对SQL(Structured Query Language,结构化查询语言)查询进行处理和计算的数据处理系统来说,数据存储任务由分布式文件系统完成。在Map/Reduce框架中,针对客户端提交的数据处理任务,可以首先将该数据处理任务拆分成若干个Map任务,分配到不同的机器上执行,每一个Map任务将查询输入文件的一部分作为自己的输入,并通过计算生成中间文件;与此同时,系统会生成若干个Reduce任务,并分配到不同的机器上执行,从而将Map任务生成的中间文件拉取到相应的Reduce任务本地进行计算处理后,汇总到最终的输出文件中去。

在该种数据处理系统处理的SQL查询中,Join(连接)查询和Groupby(分组)查询占较多的比重。在进行Join查询时,通常需要使用一个完整的Map/Reduce作业来完成。具体地,在Map阶段,各个Map任务分别读取参与Join计算的两个(或多个)数据表的部分数据,并将读取到的数据按照要连接的key(键)分别转发到相应的Reduce任务上去;在Reduce阶段,Reduce任务在获取Map任务转发的键值对后,根据键值对所属的数据表进行分类并按key进行排序,生成与上述两个数据表分别对应的两个键值对的有序列表,并对两个有序列表进行连接操作。

在对数据表进行Groupby操作时,Map/Reduce框架需要通过Map任务从数据表中读取数据,并根据Groupby键将读取到的数据分发到Reduce任务,Groupby键相同的键值对映射到同一个Reduce任务,从而在Reduce任务中对排好序的键值对执行Groupby操作。

此外,为了方便、快速地读取数据表中用户查询涉及到的列,有些该种数据处理系统支持对数据表中的数据的按列存储,因此,对于同一个数据表中的数据而言,即使位于同一行,也可能因为属于不同列而位于不同的文件中,从而被分布式文件系统保存到不同的节点上。因此,对采用列存储的数据表进行查询时,可能需要从多个节点读取数据,进行查询和最后结果的整合。

现有技术存在以下不足:

现有技术在进行Join查询和Groupby查询时开销比较大,以及查询按列存储的数据表时开销较大。

发明内容

本发明所解决的技术问题在于提供了一种数据处理方法及系统,用以减小Join查询和Groupby查询的开销,以及对列存储数据表的查询开销,提高数据处理系统的计算效率。

本发明实施例中提供了一种数据处理方法,包括如下步骤:

在基于映射/化简Map/Reduce框架完成对查询的处理和计算的数据处理中,将数据表定义为采用哈希Hash分区的方式,并在Hash分区中存储数据;

在确定所需执行的查询为连接查询或分组查询,且源数据表为Hash分区数据表、连接键或分组键为分区列时,将该查询修改为在Map端以Hash分区为单位的连接查询或分组查询后执行查询。

本发明实施例中提供了一种数据处理系统,包括:

存储引擎,用于在基于Map/Reduce框架完成对查询的处理和计算的数据处理中,将数据表定义为采用哈希Hash分区的方式,并在Hash分区中存储数据;

查询引擎,用于在确定所需执行的查询为连接查询或分组查询,且源数据表为Hash分区数据表、连接键或分组键为分区列时,将该查询修改为在Map端以Hash分区为单位的连接查询或分组查询后执行查询。

本发明有益效果如下:

在本发明实施例提供的技术方案中,在基于Map/Reduce框架完成对SQL查询的处理和计算,数据存储任务由分布式文件系统完成的数据处理中,将数据表定义为采用Hash分区的方式,并在Hash分区中存储数据;在确定所需执行的查询为Join查询或Groupby查询,且源数据表为Hash分区数据表、连接键或分组键为分区列时,将该查询修改为在Map端以Hash分区为单位的Join查询或Grouby查询后执行查询。本方案中,为分布式数据仓库增加Hash分区的分区方式,将数据按照Hash分区键映射到不同的Hash分区保存,由于键相等的数据均已被映射到同一个Hash分区中,因此,对于Join查询和Groupby查询而言,可以将Hash分区作为Map任务的划分依据,每个Hash分区由一个Map任务处理,在Map端完成数据的处理操作,从而达到节约网络带宽、磁盘带宽和网络资源,提高计算效率的目的。

附图说明

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110160630.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top