[发明专利]一种基于分布感知的二元等值连接倾斜优化方法和系统有效

专利信息
申请号: 201810551311.5 申请日: 2018-05-31
公开(公告)号: CN108804626B 公开(公告)日: 2019-11-22
发明(设计)人: 周可;杨永坤;乔宏永 申请(专利权)人: 华中科技大学
主分类号: G06F16/27 分类号: G06F16/27;G06F9/50
代理公司: 42233 武汉臻诚专利代理事务所(普通合伙) 代理人: 宋业斌<国际申请>=<国际公布>=<进入
地址: 430074 湖北省武汉*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于分布感知的二元等值连接倾斜优化方法,包括:使用两个MapReduce任务对准备进行二元连接操作的两个数据集合R和S分别进行采样,以获得两个样本集合,分别计算样本集合中倾斜键的权重和大小,将二者进行比较,选择比较结果中较大的一个所对应的数据集合作为主表,另一个所对应的数据集合作为副表;获取选定的主表和副表中各个簇的代价估计值,根据该代价估计值确定大簇集合和小簇集合,并为大簇集合和小簇集合分别生成RDD分区方案,使用大簇集合和小簇集合的RDD分区方案对主表和副表进行分区,根据对主表和副表进行分区的结果在Reduce端完成分区内的连接操作。本发明能够解决现有二元连接方法中存在的Reduce端容易发生负载倾斜的技术问题。
搜索关键词: 集合 分区 副表 数据集合 主表 代价估计 等值连接 连接操作 样本集合 感知 倾斜键 权重和 采样 优化
【主权项】:
1.一种基于分布感知的二元等值连接倾斜优化方法,其特征在于,包括以下步骤:/n(1)使用两个MapReduce任务对准备进行二元连接操作的两个数据集合R和S分别进行采样,以获得两个样本集合D′R与D′S;/n(2)分别计算样本集合D′R与D′S中倾斜键的权重和大小,将二者进行比较,选择比较结果中较大的一个所对应的数据集合作为主表,另一个所对应的数据集合作为副表;/n(3)获取步骤(2)中选定的主表和副表中各个簇的代价估计值,根据该代价估计值确定大簇集合和小簇集合,并为大簇集合和小簇集合分别生成RDD分区方案,步骤(3)具体包括以下子步骤:/n(3-1)获取选定的主表和副表中各个簇的代价估计值:/n /n其中表示簇Cα的代价估计值,wN和wD分别表示网络开销和本地磁盘开销,wN+wD=1;/n(3-2)根据步骤(3-1)中获取的主表和副表中各个簇的代价估计值分别确定主表和副表中的所有大簇和所有小簇,所有大簇形成大簇集合skewKeys,所有小簇形成小簇集合normalKeys;/n(3-3)根据大簇Cα的剩余代价和RDD分区的剩余代价确定大簇集合skewKeys的RDD分区方案skewKeyMap;步骤(3-3)进一步包括以下子步骤:/n(3-3-1)判断大簇Cα的剩余代价与RDD分区平均代价之间的关系是否有若是则转入步骤(3-3-2),否跳转步骤(3-3-3);/n(3-3-2)将大簇集合skewKeys中大簇Cα的键值对直接划分到剩余代价数组reduceArray中正序第一个costid值为mean′的分区的键值对<id,costid>,并记录下对应的划分比率<id,rate>,将<id,rate>添加到簇分区列表idListα中,将簇α和簇分区列表idListα作为键值对形成倾斜键分区方案skewKeyMap,并且将值减去mean′以得到新的将剩余代价costid减去mean′以得到新的costid,并返回步骤(3-3-1),其中costid表示Reduce编号为id的分区的剩余代价,costid的初始大小为mean′,id为剩余代价数组reduceArray中划分给簇Cα的分区的Reduce编号,且0≤id≤n-1,rate表示分区占大簇集合skewKeys中大簇Cα总代价的比率,且有/n(3-3-3)判断大簇Cα的剩余代价是否等于0,若是,则进入步骤(3-4),否则进入步骤(3-3-4);/n(3-3-4)在剩余代价数组reduceArray中costid最小且大于的键值对<id,costr>,记录下对应的划分比率<id,rate>,将该划分比率<id,rate>添加到簇分区列表idListα中,并且将设置为0,将costid减去mean′以得到新的costid,然后转入步骤(3-4);/n(3-4)将小簇集合normalKeys中的小簇以剩余代价从小到大的顺序划分到剩余代价从大到小且不为零的RDD分区中,从而得到小簇集合的分区方案normalKeyMap;步骤(3-4)具体包括以下子步骤:/n(3-4-1)对于小簇集合normalKeys中所有小簇Cγ而言,根据该小簇Cγ的总代价进行倒序排列;/n(3-4-2)在RDD分区剩余代价数组reduceArray中找到剩余代价costid最大的键值对<id,costid>,将键值对<γ,id>添加到划分方案normalKeyMap中,同时在大于costid时,将减去costid作为新的小于等于costid时,将设置为0;/n(3-4-3)将划分方案normalKeyMap按照键γ由大到小进行排序,以得到小簇的最终划分方案normalKeyMap;/n(4)使用步骤(3)中得到的大簇集合和小簇集合的RDD分区方案对主表和副表进行分区;/n(5)根据步骤(4)中对主表和副表进行分区的结果在Reduce端完成分区内的连接操作。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/patent/201810551311.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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