[发明专利]一种执行SQL任务的方法、设备以及存储介质有效
申请号: | 201910572448.3 | 申请日: | 2019-06-28 |
公开(公告)号: | CN110442433B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 和思扬 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 刘小峰 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 执行 sql 任务 方法 设备 以及 存储 介质 | ||
本发明公开了一种执行SQL任务的方法,包括步骤:设置执行所述SQL任务的内存上限参数;分别获取单个Map和单个Reduce的内存开销;根据所述内存开销以及所述内存上限参数,分别计算理论Map数量和理论Reduce数量;根据所述理论Map数量和所述理论Reduce数量设置Map任务和Reduce任务的实际参数;依据实际参数计算所述Map任务和所述Reduce任务。本发明还公开了一种计算机设备以及可读存储介质。本发明公开的方法能够更方便的维护集群资源,应对某个大任务产生过多的Map或者Reduce,使资源造成过量消耗对其他作业造成影响,进而防止该任务内存开销过大。
技术领域
本发明涉及数据处理领域,具体涉及一种执行SQL任务的方法、设备以及存储介质。
背景技术
目前hive任务执行具体的SQL任务过程中无法提供针对具体的脚本任务,尤其是对单个SQL任务直接进行内存调控的方法。容易造成某个任务开销过大,造成集群内存资源拥堵,进而导致同平台其他业务的延迟或者宕机。
因此,急需一种新的执行SQL任务方法。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例的提出一种执行SQL任务的方法,包括步骤:
设置执行所述SQL任务的内存上限参数;
分别获取单个Map和单个Reduce的内存开销;
根据所述内存开销以及所述内存上限参数,分别计算理论Map数量和理论Reduce数量;
根据所述理论Map数量和所述理论Reduce数量设置Map任务和Reduce任务的实际参数;
依据实际参数计算所述Map任务和所述Reduce任务。
在一些实施例中,设置Map任务的实际参数,进一步包括:
获取输入文件总大小;
根据所述输入文件总大小以及所述理论Map数量计算切块大小;
根据所述切块大小设置所述Map任务的实际参数。
在一些实施例中,获取输入文件总大小,进一步包括:
对输入的文件进行合并;
计算合并后的文件的总大小。
在一些实施例中,设置Reduce任务的实际参数,进一步包括:
根据所述理论Reduce数量设置第一参数。
在一些实施例中,还包括:
判断是否存在下一阶段的Map任务和Reduce任务;
响应于不存在下一阶段的Map任务和Reduce任务,输出计算结果。
在一些实施例中,还包括:
响应于存在下一阶段的Map任务和Reduce任务,根据所述理论Map数量和所述理论Reduce数量重新设置Map任务和Reduce任务的实际参数;
依据重新设置的实际参数计算下一阶段的Map任务和Reduce任务。
在一些实施例中,重新设置Map任务和Reduce任务的实际参数进一步包括:
获取上一阶段Map任务和Reduce任务得到的计算结果的大小;
根据所述计算结果的大小及所述理论Map数量计算下一阶段的切块大小;
根据所述下一阶段的切块大小设置所述下一阶段的Map任务的实际参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910572448.3/2.html,转载请声明来源钻瓜专利网。