数据倾斜矫正方法、装置及计算机可读存储介质制造方法及图纸

技术编号:24683254 阅读:46 留言:0更新日期:2020-06-27 07:56
本发明专利技术涉及人工智能技术,揭露了一种数据倾斜矫正方法,包括:接收用户输入的数据倾斜矫正指令,根据所述数据倾斜矫正指令从多台服务器中提取原始数据集,将所述原始数据集进行数据放大处理及增加随机数处理,得到待分区数据集,将所述待分区数据集进行分区操作,得到分区数据集,基于预先构建的元组评估模型对所述分区数据集进行统计,得到元组分区数据集,利用分区矫正算法对所述元组分区数据集进行数据倾斜矫正并重新分配给所述多台服务器,完成数据倾斜矫正。本发明专利技术还提出一种数据倾斜矫正装置以及一种计算机可读存储介质。本发明专利技术可以实现精准高效的数据倾斜矫正功能。

Data skew correction method, device and computer readable storage medium

【技术实现步骤摘要】
数据倾斜矫正方法、装置及计算机可读存储介质
本专利技术涉及人工智能
,尤其涉及一种数据倾斜矫正的方法、装置及计算机可读存储介质。
技术介绍
对于集群系统,一般缓存是分布式的,即不同服务器节点负责一定范围的缓存数据。我们把缓存数据分散度不够,导致大量的缓存数据集中到了一台或者几台服务器节点上,称为数据倾斜。当前矫正数据倾斜的方法有增加jvm内存、增加数据倾斜处的个数、自定义分区、重新设计键以及使用combinner合并等方法,虽然这些方法对数据倾斜的矫正有一定作用,但由于这些方法事先没有对数据进行预处理,且由于表与表之间数据差距较大,处理过程较为复杂,以及没有进行算法优化,在系统内存不足的情况下,较大的影响数据倾斜矫正的效率。
技术实现思路
本专利技术提供一种数据倾斜矫正方法、装置及计算机可读存储介质,其主要目的在于根据分区矫正算法进行数据倾斜矫正,减轻系统计算压力,减小系统内存占用率。为实现上述目的,本专利技术提供的一种数据倾斜矫正方法,包括:接收用户输入的数据倾斜矫正指令,根据所述数据倾斜矫正指令从多本文档来自技高网...

【技术保护点】
1.一种数据倾斜矫正方法,其特征在于,所述方法包括:/n接收用户输入的数据倾斜矫正指令,根据所述数据倾斜矫正指令从多台服务器中提取原始数据集,将所述原始数据集进行数据放大处理及增加随机数处理,得到待分区数据集;/n将所述待分区数据集进行分区操作,得到分区数据集;/n基于预先构建的元组评估模型对所述分区数据集进行统计,得到元组分区数据集;/n利用分区矫正算法对所述元组分区数据集进行数据倾斜矫正并重新分配给所述多台服务器,完成数据倾斜矫正。/n

【技术特征摘要】
1.一种数据倾斜矫正方法,其特征在于,所述方法包括:
接收用户输入的数据倾斜矫正指令,根据所述数据倾斜矫正指令从多台服务器中提取原始数据集,将所述原始数据集进行数据放大处理及增加随机数处理,得到待分区数据集;
将所述待分区数据集进行分区操作,得到分区数据集;
基于预先构建的元组评估模型对所述分区数据集进行统计,得到元组分区数据集;
利用分区矫正算法对所述元组分区数据集进行数据倾斜矫正并重新分配给所述多台服务器,完成数据倾斜矫正。


2.如权利要求1所述的数据倾斜矫正方法,其特征在于,所述将所述待分区数据集进行分区操作,得到分区数据集,包括:
选择所述待分区数据集的分区策略;
根据所述分区策略求解所述分区操作的约束条件;
根据所述分区策略及所述约束条件,求解分区的数据数量,并基于所述数据数量对所述待分区数据集进行分区得到分区数据集。


3.如权利要求1或2所述的数据倾斜矫正方法,其特征在于,所述基于预先构建的元组评估模型对所述分区数据集进行统计,得到元组分区数据集,包括:
创建与所述分区数据集对应的元组向量集;
累加所述元组向量集得到全局元组向量集;
预构建元组分配向量,基于所述元组分配向量统计所述全局元组向量集得到所述元组分区数据集。


4.如权利要求3所述的数据倾斜矫正方法,其特征在于,利用分区矫正算法对所述元组分区数据集进行数据倾斜矫正并重新分配给所述多台服务器,包括:
根据存储空间贪心策略,对所述多台服务器内已有数据集重新进行存储空间分配,得到存储空间均衡的多台服务器;
将所述元组分区数据集内的元组分区数据存储至存储空间均衡的其中一台服务器,并将已存储元组分区数据的服务器从所述存储空间均衡的多台服务器内剔除,直至所述存储空间均衡的多台服务器内都存储元组分区数据得到多个元组分区数据存储服务器;
判断所述元组分区数据集内是否还有元组分区数据,若所述元组分区数据集内还有元组分区数据,将元组分区数据存储至所述多个元组分区数据存储服务器内的其中一个,若所述元组分区数据集内没有元组分区数据,完成数据倾斜。


5.如权利要求3所述的数据倾斜矫正方法,其特征在于,所述预构建元组分配向量为:
AB=(R1,R2,R3,Rb…,Rr)
其中,AB为所述预构建元组分配向量,r是数据倾斜的预定任务数,R是目前已分配的元组数量;
Rb=(f1,f2,f3,fi…,fn)(b∈[1,r])
Rb向量是所述数据倾斜所分配的元组分配向量数量,其中,fi表示已分配的元组分配向量数量,所述fi的计算方法为:



其中,σ...

【专利技术属性】
技术研发人员:陈喜涛
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1