System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及大数据,特别涉及一种数据处理方法、装置、计算机设备及存储介质。
技术介绍
1、在当今社会互联网技术应用随着时间的推移,不断的深入发展,全球数据量出现爆炸式增长,数据成了当今社会增长最快的资源之一。面对增长迅速、庞大繁杂的数据资源,给传统的数据分析、处理技术带来了巨大的挑战。企业中可能存在大量数据处理分布不均的情况。因此急切需要一种与大数据相关的大数据技术和大数据应用来避免数据倾斜的解决方案。
技术实现思路
1、本申请实施例提供了一种数据处理方法、装置、设备及存储介质,可以避免数据处理过程中的shuffle操作,从而避免将同一数据倾斜键的值均发送给同一reduce进行处理的情况,进而避免数据处理中发生数据倾斜。该技术方案如下:
2、一方面,提供了一种数据处理方法,所述方法包括:
3、获取所述数据文件中对应的数据量大于数据量阈值的数据倾斜键;
4、通过对所述数据倾斜键对应的值进行预聚合,获得所述数据倾斜键对应的预聚合数据;所述预聚合数据中包含一条数据;
5、基于所述数据倾斜键对应的所述预聚合结果,通过对所述数据倾斜键对应的所有值进行映射端连接map join操作,获得第一数据表;
6、基于所述第一数据表进行数据处理。
7、另一方面,提供了一种数据处理装置,所述装置包括:
8、第一获取模块,用于获取所述数据文件中对应的数据量大于数据量阈值的数据倾斜键;
9、预聚合模块,用于通过
10、第一连接模块,用于基于所述数据倾斜键对应的所述预聚合结果,通过对所述数据倾斜键对应的所有值进行映射端连接map join操作,获得第一数据表;
11、数据处理模块,用于基于所述第一数据表进行数据处理。
12、在一种可能的实现方式中,所述预聚合模块,用于通过将同一所述数据倾斜的键对应的所有值以目标格式拼接到一个字符串中,获得所述预聚合数据。
13、在一种可能的实现方式中,所述装置还包括:
14、第二获取模块,用于获取所述数据文件中对应的数据量小于所述数据量阈值的普通键;
15、第二连接模块,用于通过对所述普通键对应的值进行连接join操作,获得第二数据表;
16、所述数据处理模块,用于基于所述第一数据表以及所述第二数据表进行数据处理。
17、在一种可能的实现方式中,所述数据处理模块,包括:
18、合并子模块,用于通过将所述第一数据表与所述第二数据表进行合并,获得合并数据表;
19、分区子模块,用于通过基于所述合并数据表进行分区处理,获得分区结果;
20、数据处理子模块,用于基于所述分区结果进行数据处理。
21、在一种可能的实现方式中,所述合并子模块,用于使用广播broadcast变量与map类算子将所述第一数据表与所述第二数据表进行合并,获得所述合并数据表。
22、在一种可能的实现方式中,所述合并子模块,包括:
23、变量创建单元,用于创建所述第二数据表对应的所述广播broadcast变量;
24、处理单元,用于通过所述map类算子对所述第一数据表与所述广播broadcast变量进行处理,获得所述合并数据表;所述map类算子用于从所述广播broadcast变量中获取所述第二数据表的全量数据,并将所述第一数据表与所述第二数据表中键相同的数据按照目标方式进行连接。
25、在一种可能的实现方式中,所述第一连接模块,用于基于所述数据倾斜键对应的所述预聚合结果,通过map类算子对所述数据倾斜键对应的所有值进行所述map join操作,获得所述第一数据表。
26、另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器存储有至少一条计算机程序,所述至少一条计算机程序由所述处理器加载并执行以实现上述的数据处理方法。
27、另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述的数据处理方法。
28、另一方面,提供了一种计算机程序产品,所述计算机程序产品包括至少一条计算机程序,所述计算机程序由处理器加载并执行以实现上述各种可选实现方式中提供的数据处理方法。
29、本申请提供的技术方案可以包括以下有益效果:
30、本申请实施例提供的数据处理方法,通过对数据倾斜键的值进行预聚合,获得存储有一条数据的预聚合数据,并在数据聚合后,通过对数据倾斜键对应的所有值进行mapjoin操作,以生成第一数据表,之后基于第一数据表进行数据处理;通过上述方法,避免了数据处理过程中的shuffle操作,从而避免了将同一数据倾斜键的值均发送给同一reduce进行处理的情况,进而避免了数据处理中发生数据倾斜。
31、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过对所述数据倾斜键对应的值进行预聚合,获得所述数据倾斜键对应的预聚合数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一数据表以及所述第二数据表进行数据处理,包括:
5.根据权利要求4所述的方法,其特征在于,所述通过将所述第一数据表与所述第二数据表进行合并,获得合并数据表,包括:
6.根据权利要求5所述的方法,其特征在于,所述使用广播Broadcast变量与Map类算子将所述第一数据表与所述第二数据表进行合并,获得所述合并数据表,包括:
7.根据权利要求1所述的方法,其特征在于,所述基于所述数据倾斜键对应的所述预聚合结果,通过对所述数据倾斜键对应的所有值进行映射端连接Map join操作,获得第一数据表,包括:
8.一种数据处理装置,其特征在于,所述装置包括:
9.一种计算机设备,其特征在于,所述计算机设备包括
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至7任一所述的数据处理方法。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述通过对所述数据倾斜键对应的值进行预聚合,获得所述数据倾斜键对应的预聚合数据,包括:
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一数据表以及所述第二数据表进行数据处理,包括:
5.根据权利要求4所述的方法,其特征在于,所述通过将所述第一数据表与所述第二数据表进行合并,获得合并数据表,包括:
6.根据权利要求5所述的方法,其特征在于,所述使用广播broadcast变量与map类算子将所述第一数据表与所述第二数据表进行合并,获得所述...
【专利技术属性】
技术研发人员:周忠恳,彭小波,李永龙,
申请(专利权)人:上海艾融软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。