[发明专利]数据倾斜处理方法、设备、存储介质及程序产品在审
申请号: | 202111139049.1 | 申请日: | 2021-09-27 |
公开(公告)号: | CN113821541A | 公开(公告)日: | 2021-12-21 |
发明(设计)人: | 魏秀利 | 申请(专利权)人: | 北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27;G06F16/22 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马明明;臧建明 |
地址: | 100176 北京市经济技术开*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 倾斜 处理 方法 设备 存储 介质 程序 产品 | ||
本发明实施例提供一种数据倾斜处理方法、设备、存储介质及程序产品,该方法包括逻辑执行计划中的查询节点对待连接数据表进行查询,获得数据倾斜的键Key,根据所述数据倾斜的Key与数据倾斜策略对所述逻辑执行计划进行修改,以使从所述待连接数据表中拆分得到的所述数据倾斜的Key对应的第一待连接子表在Spark执行物理执行计划时进行映射端链接Map Join,根据修改后的所述逻辑执行计划,生成所述物理执行计划。本实施例提供的方法通过对逻辑执行计划进行修改,从根源上规避了数据倾斜带来的诸多问题,减少了场景限制,避免了对统计信息的依赖,提高了数据倾斜处理的全面性和准确性。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据倾斜处理方法、设备、存储介质及程序产品。
背景技术
对于分布式集群系统,其不同节点负责一定范围的数据存储或数据计算。通常将数据分散度不够,导致大量的数据集中到一台或者几台服务节点上的情况,称为数据倾斜。以分布式计算引擎Spark为例,Spark计算引擎进行洗牌Shuffle的时候,需要将各个节点上相同的键Key拉取到某个节点上的一个任务task来进行处理,整个Spark作业的运行进度是由运行时间最长的task决定,因此部分Key发生数据倾斜后,会使得Spark的整体计算效率降低。
现有技术中,可以从引擎内核层面,引入自适应查询执行(Adaptive QueryExecution,AQE)技术,AQE针对上述数据倾斜问题使用运行时的统计信息自动优化查询执行,动态的发现倾斜数据的数量,并且把倾斜的分区分成更小的子分区来处理。
然而,实现本发明过程中,发明人发现现有技术中心至少存在如下问题:通过AOE技术进行数据倾斜的优化,依赖于统计信息的准确度,且仅支持部分场景,例如仅支持同一阶段Stage中只有一个链接Join的场景,具有局限性。
发明内容
本发明实施例提供一种数据倾斜处理方法、设备、存储介质及程序产品,以提高数据倾斜处理的全面性和准确性。
第一方面,本发明实施例提供一种数据倾斜处理方法,包括:
通过逻辑执行计划中的查询节点对待连接数据表进行查询,获得数据倾斜的键Key;
根据所述数据倾斜的Key与数据倾斜策略对所述逻辑执行计划进行修改,以使从所述待连接数据表中拆分得到的所述数据倾斜的Key对应的第一待连接子表在分布式计算引擎Spark执行物理执行计划时进行映射端链接Map Join;
根据修改后的所述逻辑执行计划,生成所述物理执行计划,以通过Spark执行所述物理执行计划。
第二方面,本发明实施例提供一种数据倾斜处理设备,包括:
查询模块,用于通过逻辑执行计划中的查询节点对待连接数据表进行查询,获得数据倾斜的键Key;
修改模块,用于根据所述数据倾斜的Key与数据倾斜策略对所述逻辑执行计划进行修改,以使从所述待连接数据表中拆分得到的所述数据倾斜的Key对应的第一待连接子表在分布式计算引擎Spark执行物理执行计划时进行映射端链接Map Join;
生成模块,用于根据修改后的所述逻辑执行计划,生成所述物理执行计划,以通过Spark执行所述物理执行计划。
第三方面,本发明实施例提供一种数据倾斜处理设备,包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司,未经北京沃东天骏信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111139049.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置