[发明专利]数据表连接方法及装置有效
| 申请号: | 201610118167.7 | 申请日: | 2016-03-02 |
| 公开(公告)号: | CN107153643B | 公开(公告)日: | 2021-02-19 |
| 发明(设计)人: | 吴炜 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F16/22 | 分类号: | G06F16/22 |
| 代理公司: | 北京鸿德海业知识产权代理有限公司 11412 | 代理人: | 孟繁琦 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据表 连接 方法 装置 | ||
本申请提供一种数据表连接方法及装置。方法包括:接收数据表连接任务,数据表连接任务指示按照连接条件对第一数据表和第二数据表进行连接操作;根据连接条件,将第二数据表中的数据记录加载到分布式系统中至少两个节点上;读取第一数据表中的数据记录作为当前数据记录,根据当前数据记录对应的连接条件,从至少两个节点中确定目标节点,并读取目标节点上存储的第二数据表中的数据记录作为目标数据记录;对当前数据记录和目标数据记录进行连接操作。本申请可以降低数据表连接操作消耗的计算资源。
【技术领域】
本申请涉及数据库技术领域,尤其涉及一种数据表连接方法及装置。
【背景技术】
随着互联网的发展,数据呈现爆发式增长,数据结构也开始多元化,数据含有的信息量越来越多,数据仓库在这样的背景下发挥着巨大的作用。由于大数据时代的降临,数据仓库转成为分布式架构,以满足爆发式增长的计算及存储的需求。分布式数据仓库一般使用列式存储,并以文件的形式保存数据,因此,采用分布式数据仓库可提高大数据的存储及计算性能。
在分布式数据仓库的查询过程中,经常需要进行数据表之间的连接(Join)计算。现有技术在处理数据表之间的Join计算时,一般都是先将所有待Join的数据表通过MapReduce的方式做洗牌(shuffle)排序,然后在Reducer端对已经排过序的数据表进行归并操作。shuffle排序实际上是指将Map端各个待Join的数据表按照Join条件进行分区并分配到不同Reducer端的过程。
在典型的“星型”Join场景下,假设待Join数据表包括一个主表和n个辅表,主表包含M条数据记录,那么在对主表和n个辅表进行Join计算时,shuffle排序需要处理的总数据量包括shuffle主表需要处理的数据量即M*n和shufflen个辅表需要处理的数据量,这会消耗很多计算资源。
【发明内容】
本申请的多个方面提供一种数据表连接方法及装置,用以降低数据表连接操作消耗的计算资源。
本申请的一方面,提供一种数据表连接方法,包括:
接收数据表连接任务,所述数据表连接任务指示按照连接条件对第一数据表和第二数据表进行连接操作;
根据所述连接条件,将所述第二数据表中的数据记录加载到分布式系统中至少两个节点上;
读取所述第一数据表中的数据记录作为当前数据记录,根据所述当前数据记录对应的连接条件,从所述至少两个节点中确定目标节点,并读取所述目标节点上存储的所述第二数据表中的数据记录作为目标数据记录;
对所述当前数据记录和所述目标数据记录进行连接操作。
本申请的另一方面,提供一种数据表连接装置,包括:
接收模块,用于接收数据表连接任务,所述数据表连接任务指示按照连接条件对第一数据表和第二数据表进行连接操作;
加载模块,用于根据所述连接条件,将所述第二数据表中的数据记录加载到分布式系统中至少两个节点上;
读取模块,用于读取所述第一数据表中的数据记录作为当前数据记录,根据所述当前数据记录对应的连接条件,从所述至少两个节点中确定目标节点,并读取所述目标节点上存储的所述第二数据表中的数据记录作为目标数据记录;
连接模块,用于对所述当前数据记录和所述目标数据记录进行连接操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610118167.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:智能问答方法及系统
- 下一篇:一种数据同步方法及装置





