[发明专利]一种基于分布感知的二元等值连接倾斜优化方法和系统有效
申请号: | 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/,转载请声明来源钻瓜专利网。
- 上一篇:一种LSM树的优化方法、装置及计算机设备
- 下一篇:信息获取方法及装置