数据倾斜的处理方法、系统、电子设备和介质技术方案

技术编号:26342395 阅读:32 留言:0更新日期:2020-11-13 20:33
本发明专利技术公开了一种数据倾斜的处理方法、系统、电子设备和介质,其中数据倾斜的处理方法,包括以下步骤:获取倾斜的键值;将倾斜的键值与一随机数拼接以得到拼接键值;根据拼接键值对第二大表扩容以得到扩容大表;将第一大表与扩容大表关联。本发明专利技术经数据倾斜处理,使键值数据分布更加均匀,进而解决大表和大表关联时的数据倾斜问题,节省计算资源,加快计算速度,节省运行时间。

【技术实现步骤摘要】
数据倾斜的处理方法、系统、电子设备和介质
本专利技术属于大数据计算优化
,尤其涉及一种数据倾斜的处理方法、系统、电子设备和介质。
技术介绍
基于HDFS(分布式文件系统)的离线计算的大表和大表关联时,数据时常发生倾斜问题。现有技术中,往往对数据倾斜的键值不作处理,直接计算。另外,基础数据按照键值形成分区和任务(Task),当基础数据的键值数量分布不均匀,那么各个任务处理的时长、占用的内存、CPU(中央处理器)会非常不平衡,总的处理时长将会取决于最晚的一个任务的处理时长,最终导致计算资源的浪费,计算时间长。
技术实现思路
本专利技术要解决的技术问题是为了克服现有技术中键值数量分布不均匀导致处理时间长的缺陷,提供一种数据倾斜的处理方法、系统、电子设备和介质。本专利技术是通过下述技术方案来解决上述技术问题:本专利技术提供一种数据倾斜的处理方法,包括以下步骤:获取倾斜的键值;将倾斜的键值与一随机数拼接以得到拼接键值;根据拼接键值对第二大表扩容以得到扩容大表;将第一大表与扩容大表关本文档来自技高网...

【技术保护点】
1.一种数据倾斜的处理方法,其特征在于,包括以下步骤:/n获取倾斜的键值;/n将所述倾斜的键值与一随机数拼接以得到拼接键值;/n根据所述拼接键值对第二大表扩容以得到扩容大表;/n将第一大表与所述扩容大表关联。/n

【技术特征摘要】
1.一种数据倾斜的处理方法,其特征在于,包括以下步骤:
获取倾斜的键值;
将所述倾斜的键值与一随机数拼接以得到拼接键值;
根据所述拼接键值对第二大表扩容以得到扩容大表;
将第一大表与所述扩容大表关联。


2.如权利要求1所述的数据倾斜的处理方法,其特征在于,获取倾斜的键值的步骤包括:
如果ID的统计量大于预设阈值,则设置所述ID为所述倾斜的键值,所述统计量为所述ID在所述第二大表中的统计量。


3.如权利要求1所述的数据倾斜的处理方法,其特征在于,将所述倾斜的键值与一随机数拼接以得到拼接键值的步骤包括:
根据预设随机数生成函数得到所述随机数,将所述倾斜的键值与所述随机数以预设拼接符号连接以得到所述拼接键值;
其中,所述预设随机数生成函数表征为:
Ran=random((v1+t)%1000000000)*v2,其中,Ran表征所述随机数,v1为第一参数,t为时间戳,v2为第二参数,random()表征随机运算,%为求余运算符,Ran、v1、v2均为正整数。


4.如权利要求1所述的数据倾斜的处理方法,其特征在于,根据所述拼接键值对第二大表扩容以得到扩容大表的步骤包括:
将所述拼接键值作为新增ID添加至所述第二大表以得到所述扩容大表。


5.一种数据倾斜的处理系统,其特征在于,包括键值获取单元、拼接单元、扩容单元、关联单元;
所述键值获取单元用于获取倾斜的键值;
所述拼接单元用于将所...

【专利技术属性】
技术研发人员:沈佳佳于美丽张帆
申请(专利权)人:携程计算机技术上海有限公司
类型:发明
国别省市:上海;31

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

1