数据连接方法、装置、电子设备、存储介质及程序产品制造方法及图纸

技术编号:32546272 阅读:16 留言:0更新日期:2022-03-05 11:44
本公开实施例公开了一种数据连接方法、装置、电子设备、存储介质及程序产品,所述方法包括:获取数据连接请求;所述数据连接请求包括待连接的两个数据的信息;基于所述两个数据的信息确定所述两个数据的数据量大小;在所述两个数据均大于第一预设阈值且其中一个数据小于或等于第二预设阈值时,在Map阶段通过多次连接操作完成所述两个数据的连接操作;在所述两个数据均大于所述第二预设阈值时,在Reduce阶段完成所述两个数据的连接操作。该技术方案能够明显降低大数据操作过程中两个数据的连接操作成本,并且提高数据连接效率。并且提高数据连接效率。并且提高数据连接效率。

【技术实现步骤摘要】
数据连接方法、装置、电子设备、存储介质及程序产品


[0001]本公开实施例涉及大数据
,具体涉及一种数据连接方法、装置、电子设备、存储介质及程序产品。

技术介绍

[0002]在互联网高速发展的时代,每天都有数以百计请求查询及数据汇总,在这样大规模的数据处理中,数据的输入量是非常巨大的,目前单个PC机已经无法能满足现状的需求。采取分布式处理技术,将多台廉价计算机组成集群,将这些计算任务分布到这些廉价的计算机上处理。在分布式集群中Hadoop提供了分布式处理的平台,可以利用MapReduce框架在多台计算机组成的集群中并行的运行大规模的分布式计算操作,具有高效的计算能力。
[0003]Hive是基于Hadoop的一个数据仓库工具,可以将结构化数据文件映射为一张数据库表,并提供完整的结构化查询语言(SQL,Structured Query Language)查询功能,可以将SQL语句转换为MapReduce任务进行运行,防止了对于不熟悉MapReduce的编程人员编写MapReduce带来的不便。在Hive进行SQL语句操作时是通过底层的MapReduce框架来完成处理操作的。
[0004]MapReduce框架中较为常用的操作包括join操作,join操作包括Map阶段和Reduce阶段。在Map阶段,Mapper从连接表中读取数据并将连接的key和连接的value键值对输出到中间文件中。在Reduce阶段,Reducer将排序结果作为输入,并进行Join。但是Shuffle阶段代价非常昂贵,因为它需要排序和合并。因此减少Shuffle和Reduce阶段的代价可以提高任务性能。

技术实现思路

[0005]本公开实施例提供一种数据连接方法、装置、电子设备、存储介质及程序产品。
[0006]第一方面,本公开实施例中提供了一种数据连接方法,包括:
[0007]获取数据连接请求;所述数据连接请求包括待连接的两个数据的信息;
[0008]基于所述两个数据的信息确定所述两个数据的数据量大小;
[0009]在所述两个数据均大于第一预设阈值且其中一个数据小于或等于第二预设阈值时,在Map阶段通过多次连接操作完成所述两个数据的连接操作;
[0010]在所述两个数据均大于所述第二预设阈值时,在Reduce阶段完成所述两个数据的连接操作。
[0011]进一步地,在Map阶段通过多次连接操作完成所述两个数据的连接操作,包括:
[0012]选择所述两个数据中的其中一个作为目标数据;
[0013]在所述Map阶段的一个Map任务中将所述目标数据中的一部分与所述两个数据中的另一个进行连接操作,以及在所述Map阶段的至少另一个Map任务中将所述目标数据中的其他部分与所述两个数据中的另一个进行连接操作。
[0014]进一步地,选择所述两个数据中的其中一个作为目标数据,包括:
[0015]比较所述两个数据的数据量大小;
[0016]将数据量较小的一个数据确定为所述目标数据。
[0017]进一步地,在所述Map阶段的一个Map任务中将所述目标数据中的一部分与所述两个数据中的另一个发送给进行连接操作,以及在所述Map阶段的至少另一个Map任务中将所述目标数据中的其他部分与所述两个数据中的另一个进行连接操作,包括:
[0018]将所述目标数据划分为小于或等于所述第一预设阈值的多个部分;
[0019]在所述Map阶段的不同Map任务中将多个部分中的每一个分别与所述两个数据中的另一个进行连接操作。
[0020]进一步地,所述第二预设阈值小于或等于n倍的所述第一预设阈值,所述n大于1,且小于或等于3。
[0021]进一步地,在所述两个数据均大于所述第二预设阈值时,在Reduce阶段完成所述两个数据的连接操作,包括:
[0022]在Shuffle阶段将所述两个数据中同一数据键的数据划分为一个区;
[0023]在所述Map阶段标记出每个区中数据的来源,所述来源为所述两个数据中的其中一个;
[0024]在Reduce阶段利用Reduce任务将同一数据键的数据进行连接操作。
[0025]第二方面,本公开实施例中提供了一种数据连接方法,包括:
[0026]客户端向服务器发送数据连接请求;所述数据连接请求包括待连接的两个数据的信息;
[0027]服务器接收所述数据连接请求,并基于所述两个数据的信息确定所述两个数据的数据量大小;
[0028]在所述两个数据均大于第一预设阈值且其中一个数据小于或等于第二预设阈值时,所述服务器在Map阶段通过多次连接操作完成所述两个数据的连接操作;
[0029]在所述两个数据均大于所述第二预设阈值时,所述服务器在Reduce阶段完成所述两个数据的连接操作。
[0030]进一步地,所述服务器在Map阶段通过多次连接操作完成所述两个数据的连接操作,包括:
[0031]所述服务器选择所述两个数据中的其中一个作为目标数据;
[0032]所述服务器在所述Map阶段的一个Map任务中将所述目标数据中的一部分与所述两个数据中的另一个进行连接操作,以及在所述Map阶段的至少另一个Map任务中将所述目标数据中的其他部分与所述两个数据中的另一个进行连接操作。
[0033]进一步地,所述服务器选择所述两个数据中的其中一个作为目标数据,包括:
[0034]所述服务器比较所述两个数据的数据量大小;
[0035]所述服务器将数据量较小的一个数据确定为所述目标数据。
[0036]进一步地,所述服务器在所述Map阶段的一个Map任务中将所述目标数据中的一部分与所述两个数据中的另一个发送给进行连接操作,以及在所述Map阶段的至少另一个Map任务中将所述目标数据中的其他部分与所述两个数据中的另一个进行连接操作,包括:
[0037]所述服务器将所述目标数据划分为小于或等于所述第一预设阈值的多个部分;
[0038]所述服务器在所述Map阶段的不同Map任务中将多个部分中的每一个分别与所述
两个数据中的另一个进行连接操作。
[0039]进一步地,所述第二预设阈值小于或等于n倍的所述第一预设阈值,所述n大于1,且小于或等于3。
[0040]进一步地,所述服务器在所述两个数据均大于所述第二预设阈值时,在Reduce阶段完成所述两个数据的连接操作,包括:
[0041]所述服务器在Shuffle阶段将所述两个数据中同一数据键的数据划分为一个区;
[0042]所述服务器在所述Map阶段标记出每个区中数据的来源,所述来源为所述两个数据中的其中一个;
[0043]所述服务器在Reduce阶段利用Reduce任务将同一数据键的数据进行连接操作。
[0044]进一步地,所述服务器在所述Map阶段的不同Map任务中将多个部分中的每一个分别与所述两个数据中的另一个进行连接操作之后,所述方法还包括本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据连接方法,包括:获取数据连接请求;所述数据连接请求包括待连接的两个数据的信息;基于所述两个数据的信息确定所述两个数据的数据量大小;在所述两个数据均大于第一预设阈值且其中一个数据小于或等于第二预设阈值时,在Map阶段通过多次连接操作完成所述两个数据的连接操作;在所述两个数据均大于所述第二预设阈值时,在Reduce阶段完成所述两个数据的连接操作。2.根据权利要求1所述的方法,其中,在Map阶段通过多次连接操作完成所述两个数据的连接操作,包括:选择所述两个数据中的其中一个作为目标数据;在所述Map阶段的一个Map任务中将所述目标数据中的一部分与所述两个数据中的另一个进行连接操作,以及在所述Map阶段的至少另一个Map任务中将所述目标数据中的其他部分与所述两个数据中的另一个进行连接操作。3.一种数据连接方法,包括:客户端向服务器发送数据连接请求;所述数据连接请求包括待连接的两个数据的信息;服务器接收所述数据连接请求,并基于所述两个数据的信息确定所述两个数据的数据量大小;在所述两个数据均大于第一预设阈值且其中一个数据小于或等于第二预设阈值时,所述服务器在Map阶段通过多次连接操作完成所述两个数据的连接操作;在所述两个数据均大于所述第二预设阈值时,所述服务器在Reduce阶段完成所述两个数据的连接操作。4.一种数据连接方法,包括:服务节点从客户端获取数据连接请求;所述数据连接请求包括待连接的两个数据的信息;所述服务节点基于所述两个数据的信息确定所述两个数据的数据量大小;在所述两个数据均大于第一预设阈值且其中一个数据小于或等于第二预设阈值时,所述服务节点启动Map节点;所述Map节点通过多次连接操作完成所述两个数据的连接操作;在所述两个数据均大于所述第二预设阈值时,所述服务器节点启动Map节点和Reduce节点;所述Map节点将所述两个数据中同一数据键的数据划分为一个区,并标识出每个区中数据的来源,所述来源为所述两个数据中的其中一个;所述Reduce节点将每个分区中同一数据键的数据进行连接操作。5.一种数据连接装置,包括:第一获取模块,被配置为获取数据连接请求;所述数据连接请求包括待连接的两个数据的信息;第一确定模块,被配置为基于所述两个数据的信息确定所述两个数据的...

【专利技术属性】
技术研发人员:关振宇朱家强郑为锋
申请(专利权)人:拉卡拉支付股份有限公司
类型:发明
国别省市:

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

1