[发明专利]一种基于分布感知的二元等值连接倾斜优化方法和系统有效
申请号: | 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端容易发生负载倾斜的技术问题。
技术领域
本发明属于并行计算技术领域,更具体地,涉及一种基于分布感知的二元等值连接倾斜优化方法和系统。
背景技术
目前,针对分布式系统中Spark平台的连接操作是先对表的集合进行分区,然后在分区内实现连接操作,该连接操作是在该平台的基本数据结构——弹性分布式数据集(Resilient Distributed Datasets,简称RDD)基础上的操作,每个数据表可以转换成<key,value>的键值对RDD集合。Spark平台现有的分区方法包括哈希分区算法和简单值域分区算法。与这两种分区算法对应的二元连接方法分别是哈希连接算法和值域连接算法。
然而,上述分布式系统的二元连接方法存在一些不可忽视的缺陷:第一,该方法由于数据集合在创建时并未考虑后续连接操作时的负载均衡,因此在Reduce端连接只会在原始数据集所在的分区(节点)进行,这会导致Reduce端发生负载倾斜的问题;第二,该方法并未考虑Reduce端节点之间的网络IO代价,因此会导致Reduce端的网络IO发生负载倾斜的问题;最后,该方法需要对原始数据集进行抽样,传统抽样过程需要获取原始数据集中的总量,但该总量往往是未知的,因此会导致该方法在获取原始数据集总量时的开销比较大。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于分布感知的二元等值连接倾斜优化方法和系统,其目的在于,解决现有分布式系统的二元连接方法中存在的Reduce端容易发生负载倾斜,以及在获取原始数据集总量时的开销较大的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于分布感知的二元等值连接倾斜优化方法,包括以下步骤:
(1)使用两个MapReduce任务对准备进行二元连接操作的两个数据集合R和S分别进行采样,以获得两个样本集合D′R与D′S;
(2)分别计算样本集合D′R与D′S中倾斜键的权重和大小,将二者进行比较,选择比较结果中较大的一个所对应的数据集合作为主表,另一个所对应的数据集合作为副表;
(3)获取步骤(2)中选定的主表和副表中各个簇的代价估计值,根据该代价估计值确定大簇集合和小簇集合,并为大簇集合和小簇集合分别生成RDD分区方案;
(4)使用步骤(3)中得到的大簇集合和小簇集合的RDD分区方案对主表和副表进行分区;
(5)根据步骤(4)中对主表和副表进行分区的结果在Reduce端完成分区内的连接操作。
优选地,样本集合D′R中倾斜键权重和的计算公式为:
其中,Cβ为样本集合D′R中字面值为β的簇,β∈D′R,且集合Cβ中所有元素的权重和大于样本集合D′R权重和的平均值
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810551311.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种LSM树的优化方法、装置及计算机设备
- 下一篇:信息获取方法及装置