【技术实现步骤摘要】
处理数据倾斜的方法、装置、设备及存储介质
本申请涉及数据处理领域,尤其涉及处理数据倾斜的方法、装置、设备及存储介质。
技术介绍
随着物联网、云计算和网络带宽等技术的高速发展,大数据计算被广泛运用。大数据计算中,海量的数据信息的传输或存储或处理常会导致数据倾斜。在现有的数据仓库工具Hive中,没有可调整的参数或者可调用的函数,来直接性地解决数据读取时所发生的数据倾斜问题,以至于Hive以及其他的大数据计算引擎在读取Hive表数据发生数据倾斜时,得不到及时和有效的处理,从而导致整个任务无法按规定时效完成,进而无法达到业务需求。目前的数据倾斜处理,通过检测输入文件的大小,若所述输入文件的大小小于第一预设阈值,则检测大小小于第一预设阈值的输入文件的数量,当所述数量大于第二预设阈值时,将文件合并,若文件的大小在预设范围内,则增加Map的数量。由于在获取单个原输入文件时需要将合并文件拆分,导致数据处理资源的增加,影响运行时间,且Map数据的增加导致数据处理时间的增长,以影响运行效率,因而,导致无法有效地解决数据倾斜处理问题。
技术实现思路
本申请提供了一种处理数据倾斜的方法、装置、设备及存储介质,能够有效地解决数据倾斜处理问题。第一方面,本申请提供一种处理数据倾斜的方法,所述方法包括:预先设置待存储空间的容量大小,设置所述待存储空间中的数据类型和各所述数据类型对应的数据的目标数量;基于所述容量大小和所述数据类型根据预设规则对所述待存储空间进行分区得到每种数据类型对应的子 ...
【技术保护点】
1.一种处理数据倾斜的方法,其特征在于,所述方法包括:/n预先设置待存储空间的容量大小,设置所述待存储空间中的数据类型和各所述数据类型对应的数据的目标数量;/n基于所述容量大小和所述数据类型根据预设规则对所述待存储空间进行分区得到每种数据类型对应的子存储空间的大小和数量,所述待存储空间包括多个所述子存储空间;/n根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,所述子存储空间包括多个所述目标存储空间;/n根据各分区内所述目标存储空间的数量设置各分区的随机数,所述随机数包括各分区对应的分区号;/n将预设判断条件和所述随机数标记在所述待存储空间中的各数据上,所述预设判断条件用于判断存储到目标待存储空间中的数据;/n通过随机分组函数分析所述待存储空间中的各数据上标记的内容,以将所述各数据类型对应的数据存储到目标待存储空间中。/n
【技术特征摘要】
1.一种处理数据倾斜的方法,其特征在于,所述方法包括:
预先设置待存储空间的容量大小,设置所述待存储空间中的数据类型和各所述数据类型对应的数据的目标数量;
基于所述容量大小和所述数据类型根据预设规则对所述待存储空间进行分区得到每种数据类型对应的子存储空间的大小和数量,所述待存储空间包括多个所述子存储空间;
根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,所述子存储空间包括多个所述目标存储空间;
根据各分区内所述目标存储空间的数量设置各分区的随机数,所述随机数包括各分区对应的分区号;
将预设判断条件和所述随机数标记在所述待存储空间中的各数据上,所述预设判断条件用于判断存储到目标待存储空间中的数据;
通过随机分组函数分析所述待存储空间中的各数据上标记的内容,以将所述各数据类型对应的数据存储到目标待存储空间中。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,包括:
通过分区规则分析所述数据类型对应的目标数量,确定所述子存储空间的划分区域和划分数量,所述划分数量指示各所述划分区域内存储的数据的数量;
根据所述子存储空间的大小计算各所述划分区域的大小,得到各区域大小;
根据所述划分数量对各所述划分区域进行平均划分,得到各所述划分区域中多个目标存储空间,所述各所述划分区域对应的目标存储空间的数量和为各分区内目标存储空间的数量;
根据所述各区域大小计算各所述划分区域对应的目标存储空间的平均大小,得到各分区内目标存储空间的大小。
3.根据权利要求1所述的方法,其特征在于,所述根据各所述子存储空间的大小以及所述数据类型对应的目标数量通过分区规则确定各分区内目标存储空间的大小和数量,包括:
获取所述子存储空间中键Key的量级;
根据所述Key的量级设置数量阈值,所述数量阈值用于指示存储于所述子存储空间中的目标存储空间的最大数量;
将所述数量阈值、所述子存储空间的大小和所述数据类型对应的目标数量作为判断项,并创建所述数量阈值、所述子存储空间的大小和所述数据类型对应的目标数量的对应关系;
根据所述判断项和所述对应关系建立分区规则,并根据所述分区规则和所述对应关系创建划分表;
根据所述对应关系遍历所述划分表,获得各分区内目标存储空间的大小和数量。
4.根据权利要求3所述的方法,其特征在于,所述根据各分区内所述目标存储空间的数量设置各分区的随机数,包括:
获取根据所述划分表获取的各分区内所述目标存储空间的数量;
将各分区内所述目标待存储空间的数量的值设置为各分区的随机数的最大值;
基于所述最大值通过随机函数生成各分区的随机数。
5.根据权利要求1所述的方法,其特征在于,所述预设判断条件,包括:
当检测到一个或一个以上的回调函数对应的数据的数量大于预设平均值时,获取所述回调函数对应的数据的数量为最大值对应的目标key;
将所述目标key重新组合成弹性分布式数据集,并在经过重新组合成弹性分布式数据集的所述目标key的前缀标记所述随机数;
将标记所述随机数为前缀的目标key调到多个任务中进行结合join操作以获取多个操作结果,将多个所述操作结果聚合...
【专利技术属性】
技术研发人员:余可帆,
申请(专利权)人:中国平安财产保险股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。