处理数据倾斜的方法、装置、设备及存储介质与流程

文档序号:20487739发布日期:2020-04-21 21:48阅读:来源:国知局

技术特征:

1.一种处理数据倾斜的方法,其特征在于,所述方法包括:

预先设置待存储空间的容量大小,设置所述待存储空间中的数据类型和各所述数据类型对应的数据的目标数量;

基于所述容量大小和所述数据类型根据预设规则对所述待存储空间进行分区得到每种数据类型对应的子存储空间的大小和数量,所述待存储空间包括多个所述子存储空间;

根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,所述子存储空间包括多个所述目标存储空间;

根据各分区内所述目标存储空间的数量设置各分区的随机数,所述随机数包括各分区对应的分区号;

将预设判断条件和所述随机数标记在所述待存储空间中的各数据上,所述预设判断条件用于判断存储到目标待存储空间中的数据;

通过随机分组函数分析所述待存储空间中的各数据上标记的内容,以将所述各数据类型对应的数据存储到目标待存储空间中。

2.根据权利要求1所述的方法,其特征在于,所述根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,包括:

通过分区规则分析所述数据类型对应的目标数量,确定所述子存储空间的划分区域和划分数量,所述划分数量指示各所述划分区域内存储的数据的数量;

根据所述子存储空间的大小计算各所述划分区域的大小,得到各区域大小;

根据所述划分数量对各所述划分区域进行平均划分,得到各所述划分区域中多个目标存储空间,所述各所述划分区域对应的目标存储空间的数量和为各分区内目标存储空间的数量;

根据所述各区域大小计算各所述划分区域对应的目标存储空间的平均大小,得到各分区内目标存储空间的大小。

3.根据权利要求1所述的方法,其特征在于,所述根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,包括:

获取所述子存储空间中键key的量级;

根据所述key的量级设置数量阈值,所述数量阈值用于指示存储于所述子存储空间中的目标存储空间的最大数量;

将所述数量阈值、所述子存储空间的大小和所述数据类型对应的目标数量作为判断项,并创建所述数量阈值、所述子存储空间的大小和所述数据类型对应的目标数量的对应关系;

根据所述判断项和所述对应关系建立分区规则,并根据所述分区规则和所述对应关系创建划分表;

根据所述对应关系遍历所述划分表,获得各分区内目标存储空间的大小和数量。

4.根据权利要求3所述的方法,其特征在于,所述根据各分区内所述目标存储空间的数量设置各分区的随机数,包括:

获取根据所述划分表获取的各分区内所述目标存储空间的数量;

将各分区内所述目标待存储空间的数量的值设置为各分区的随机数的最大值;

基于所述最大值通过随机函数生成各分区的随机数。

5.根据权利要求1所述的方法,其特征在于,所述预设判断条件,包括:

当检测到一个或一个以上的回调函数对应的数据的数量大于预设平均值时,获取所述回调函数对应的数据的数量为最大值对应的目标key;

将所述目标key重新组合成弹性分布式数据集,并在经过重新组合成弹性分布式数据集的所述目标key的前缀标记所述随机数;

将标记所述随机数为前缀的目标key调到多个任务中进行结合join操作以获取多个操作结果,将多个所述操作结果聚合;

当检测到用户表与日志表中的目标数据类型存在差异时,分别将所述用户表与所述日志表中的目标数据类型中的数字类型转换成字符串类型,其中,所述待存储空间包括用户表和日志表,所述目标数据类型指示相同数据字段的数据类型;

检测经过数据类型转换的数据是否存在空值,若是,则赋予存在空值的数据新的key值,其中,所述新的key值指示将空值的key转换为一个标记所述随机数的字符串。

6.根据权利要求1-4任一所述的方法,其特征在于,所述预设判断条件,包括:

判断执行时间是否大于预设执行时间的三分之二,其中,所述执行时间指示所述各数据对应的任务的执行时间,所述预设执行时间指示预设的重新分配的任务执行时间;

若执行时间大于预设执行时间的三分之二,则标记所述执行时间大于预设执行时间的三分之二的数据为剔除数据,并标记标签信息,所述标签信息存储于标记所述剔除数据的目标存储空间中;

判断所述各数据是否带有预置符号;

若所述各数据带有预置符号,则标记所述各数据中带有预置符号的数据为剔除数据,并标记标签信息,所述标签信息存储于标记剔除数据的目标存储空间中。

7.根据权利要求1所述的方法,其特征在于,所述根据各分区内所述目标存储空间的数量设置各分区的随机数,包括:

根据各分区内可存储的所述目标存储空间的数量设置各数据的配置权重值;

获取所述目标存储空间的各数据的当前有效权重值,并将所述当前有效权重值初始为所述配置权重值,计算所述各数据的配置权重值总和;

从一到所述配置权重值总和的值之间随机选择一个目标值,并按照当前有效权重值从大到小的顺序对所述各数据进行排序,以获取排序集合;

遍历所述排序集合,计算所述排序集合遍历到的数据的当前有效权重值之和;

当检测到所述当前有效权重值之和不小于所述目标值时,停止对所述排序集合的遍历,将停止对所述排序集合的遍历时的数据的当前有效权重值设置为分区的随机数。

8.一种处理数据倾斜的装置,其特征在于,所述装置包括:

收发模块,用于接收预先设置待存储空间的容量大小,设置所述待存储空间中的数据类型和各所述数据类型对应的数据的目标数量;

处理模块,用于基于所述收发模块接收的所述容量大小和所述数据类型根据预设规则对所述待存储空间进行分区得到每种数据类型对应的子存储空间的大小和数量,所述待存储空间包括多个所述子存储空间;根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,所述子存储空间的数量包括多个所述目标存储空间;根据各分区内所述目标存储空间的数量设置各分区的随机数,所述随机数包括各分区对应的分区号;将预设判断条件和所述随机数标记在所述待存储空间中的各数据上,所述预设判断条件用于判断存储到目标待存储空间中的数据;通过随机分组函数分析所述待存储空间中的各数据上标记的内容,以将所述各数据类型对应的数据存储到目标待存储空间中。

9.一种计算机设备,其特征在于,所述计算机设备包括:

至少一个处理器、存储器和收发器;

其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-7中任一项所述的方法。

10.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。


技术总结
本申请涉及大数据领域,提供一种处理数据倾斜的方法、装置、设备及存储介质,方法包括:预先设置待存储空间的容量大小,设置待存储空间中的数据类型和目标数量;基于容量大小和数据类型根据预设规则对待存储空间进行分区得到每种数据类型对应的子存储空间的大小和数量;根据各子存储空间的大小以及数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量;根据各分区内目标存储空间的数量设置各分区的随机数;将随机数和预设判断条件标记在待存储空间中的各数据上;通过随机分组函数分析待存储空间中的各数据上标记的内容,以将各数据类型对应的数据存储到目标待存储空间中。采用本方案,能够有效地解决数据倾斜处理问题。

技术研发人员:余可帆
受保护的技术使用者:中国平安财产保险股份有限公司
技术研发日:2019.12.13
技术公布日:2020.04.21
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1