[发明专利]一种数据倾斜过载保护方法在审
申请号: | 201911238402.4 | 申请日: | 2019-12-06 |
公开(公告)号: | CN110955553A | 公开(公告)日: | 2020-04-03 |
发明(设计)人: | 王帅 | 申请(专利权)人: | 南京录信软件技术有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F16/242 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210000 江苏省南京*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 倾斜 过载 保护 方法 | ||
本发明公开了一种数据倾斜过载保护方法,包括如下步骤,S1:程序录入sql语句;S2:sql语句的解析过程;S3:生成逻辑计划;S4:优化逻辑计划;S5:物理计划阶段;S6:执行阶段;本发明通过对当前编写的sql语句进行诊断,判断是否会出现数据倾斜问题,一旦确定会出现数据倾斜问题,则禁止该条问题sql的提交,避免影响到机器的稳定性;主要针对很多人因不擅长写sql语句,写出会引发数据倾斜的问题sql而导致整个集群不稳定的问题,避免了长时间等待任务的执行,提升了大数据数据处理的效率。
技术领域
本发明涉及大数据数据处理技术领域,具体为一种数据倾斜过载保护方法。
背景技术
随着大数据技术的普及,在处理大量数据的过程中也出现了很多问题,数据倾斜是大数据计算的过程中最为常见的问题。处理数据的大数据方案使用分布式的方式来处理数据,数据的key值分布不均匀造成了数据倾斜,这导致大量的数据集中到一个或几个计算节点上进行计算,这些计算节点的计算速度低于平均的计算速度,将会拖慢整个计算过程。若倾斜数据超过计算节点本身设置的内存上限,使得计算节点宕掉,分布式计算的优势也将不复存在。
在最常见的hadoop和spark两个分布式计算平台的处理过程中,解决数据倾斜是当前最为至关重要的问题。Hadoop中最常用的是mapreduce和hive两个组件,hive组件本质上也是使用mapreduce执行,数据倾斜主要发生在mapreduce上。mapreduce的数据倾斜主要表现在有一个或几个reduce卡住、大量的容器oom异常、单个reduce读写数据量远超其余reduce、经常无故出现任务被kill。Spark中的数据倾斜主要发生在spark streaming和spark sql处理过程中,主要表现为execute oom、shuffle过程出错、driver oom、单个execute执行时间过长、整体任务卡在某个task不能结束等。
现有的大数据组件暂时没有针对数据倾斜导致过载的保护机制,只有在被执行的job长时间卡住、execute挂掉或者任务执行很长时间突然报oom异常时才能发现有数据倾斜发生,但往往需要花费很长时间去等这个结果,很被动。发生数据倾斜的节点通常会内存爆掉或者GC频繁,这会导致当前正在使用集群的其他业务受到影响。
发明内容
本发明的目的在于提供一种数据倾斜过载保护方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种数据倾斜过载保护方法,包括如下步骤,
S1:程序录入sql语句;
S2:sql语句的解析过程;
S3:生成逻辑计划;
S4:优化逻辑计划;
S5:物理计划阶段;
S6:执行阶段。
优选的,所述步骤S1中,使用者录入sql语句被程序读取,程序中设置有产生数据倾斜的阈值。
优选的,所述步骤S2中,将sql语句解析成逻辑语法树。
优选的,所述步骤S3中,对sql语句生成逻辑执行计划。
优选的,所述步骤S4中,对步骤S3中生成的逻辑执行计划进行优化,优化为最适合执行的计划。
优选的,所述步骤S5中,对步骤S4中优化后的逻辑执行计划在数据层面上执行过程进行计划规划。
优选的,所述步骤S6中,对sql语句进行执行,判断执行结果的数据倾斜是否会超过阈值;超过阈值则终止查询语句并上报数据倾斜异常,不超过阈值则返回sql语句的检索数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京录信软件技术有限公司,未经南京录信软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911238402.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置