买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:重庆邮电大学
摘要:本发明涉及一种基于Spark计算框架的大表连接优化方法,属于大数据计算领域。该方法包括:S1:利用谓词下推结合压缩布隆过滤器进行数据清洗,过滤掉大表中大量无效的数据,避免大量无用数据进入到shuffle阶段;S2:搭建基于Spark的数据倾斜检测模型,通过蓄水池采样算法统计出全局Map阶段Key值分布;S3:采用中间数据簇分割策略,对倾斜数据簇根据平均负载额定容量进行切割,使出现频次多的Key进入到其他处理快的分区中,使Key处于均匀分布状态。本发明能滤掉大量无用数据,改进数据倾斜情况,缩短连接查询时间,解决Spark集群节点内存溢出问题,提高用户满意度。
主权项:1.一种基于Spark计算框架的大表连接优化方法,其特征在于,该方法包括以下步骤:S1:利用谓词下推结合压缩布隆过滤器进行数据清洗,过滤掉大表中大量无效的数据,避免大量无用数据进入到shuffle阶段,具体包括:首先SQL表达式的过滤表达式下推到存储层直接过滤数据;再利用压缩BloomFilter进行哈希映射,找到两个表中共同拥有的属性连接值并存储到新的位数组A和位数组B中,并利用压缩BloomFilter进行网络广播位数组A和位数组B,将其他不参与连接阶段的无效数据进行去除;S2:搭建基于Spark的数据倾斜检测模型,通过蓄水池采样算法统计出全局Map阶段Key值分布,具体包括:采用Master-Slaves模式,通过蓄水池采样算法,各个Slave节点抽取Key值分布和数据,每个样本被抽取的概率都为KN,其中K表示抽取样本数量,N表示样本总数量;根据样本中的各个Key的频率分布,计算出近似于总体的分布情况,判断大表数据Key值是否倾斜;S3:采用中间数据簇分割策略,对倾斜数据簇根据平均负载额定容量进行切割,使出现频次多的Key进入到其他处理快的分区中,使Key处于均匀分布状态,具体包括:在步骤S2检测到数据倾斜后,计算出数据簇的平均负载额定容量,设置倾斜容忍度,数据簇数据切割网络传输时间大于节点业务处理时间就不切割数据;其余的倾斜数据簇根据平均负载额定容量进行切割;步骤S3具体包括以下步骤:S31:在步骤S2中采样的数据集合为SC={SCi},SCi表示采样数据的key-value键值对数量;S32:通过计算每个桶中的标准额定容量Havg,Havg表示为:其中m为数据簇数,h为桶数,桶当前剩余容量表示为{DB1,DB2,…,DBh};S33:对SCi进行逆序排序,如果SCi≥DB1,那么一个新的段将从大小为Havg的SCi中分离出来装到DB1中,剩余大小为SCi-DB1的剩余部分和剩余簇进入下一个迭代器;S34:当SCiDBi时,将SCi放入DBi中,对于剩余空间再检查当前第二大SCi-1,看它是否能填满DBi,如果SCi+SCi-1≥DBi,那么SCi-1将被拆分,并将剩余键值对向前遍历所有剩余DBi,查看是否能装下剩余键值对;S35:在每次迭代处理后,SCi将会被重新排序,同时设置倾斜容忍度,当HavgSCi≤Havg*1.1时,则不对SCi进行切割。
全文数据:
权利要求:
百度查询: 重庆邮电大学 一种基于Spark计算框架的大表连接优化方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。