[发明专利]一种基于sql的查询方法及系统在审
申请号: | 201610887292.4 | 申请日: | 2016-10-11 |
公开(公告)号: | CN106649503A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 温宗臣;张翼;何良均;范卫卫;冯森林;李冰;曾攀;严亮;张书凡 | 申请(专利权)人: | 北京集奥聚合科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京和信华成知识产权代理事务所(普通合伙)11390 | 代理人: | 胡剑辉 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 sql 查询 方法 系统 | ||
1.一种基于sql的查询方法,其特征在于:该方法包括以下步骤:
(1)获取到sql语句的查询计划,进而找出参与运算的数据量,同时找到计算方法;
(2)根据参与运算的数据量及计算方法,选择采用hive、presto、spark中的一种作为查询引擎。
2.根据权利要求1所述的基于sql的查询方法,其特征在于:所述步骤(1)中,通过hive的explain获取到sql语句的查询计划。
3.根据权利要求2所述的基于sql的查询方法,其特征在于:所述步骤(1)中,计算方法包括:join操作,group by操作,distinct操作。
4.根据权利要求3所述的基于sql的查询方法,其特征在于:所述步骤(2)中,如果数据量大于1亿条数据,并且存在join操作、group by操作或者distinct操作,选择hive作为查询引擎来提交sql作业;如果数据量小于1000万,使用presto作为查询引擎来提交sql作业;如果数据量在1000万到1亿之间,并且不存在join操作,group by操作或者distinct操作,使用presto作为查询引擎提交sql作业;除以上三种情况,使用spark作为查询引擎提交sql作业。
5.一种基于sql的查询系统,其特征在于:该系统包括:
数据量及计算模式识别模块,其配置来获取到sql语句的查询计划,
进而找出参与运算的数据量,同时找到计算方法;
查询引擎智能匹配模块,其配置来根据参与运算的数据量及计算方法,选择采用hive、presto、spark中的一种作为查询引擎。
6.根据权利要求5所述的基于sql的查询系统,其特征在于:所述数据量及计算模式识别模块中,通过hive的explain获取到sql语句的查询计划。
7.根据权利要求6所述的基于sql的查询系统,其特征在于:所述数据量及计算模式识别模块中,计算方法包括:join操作,group by操作,distinct操作。
8.根据权利要求7所述的基于sql的查询系统,其特征在于:所述查询引擎智能匹配模块中,如果数据量大于1亿条数据,并且存在join操作、group by操作或者distinct操作,选择hive作为查询引擎来提交sql作业;如果数据量小于1000万,使用presto作为查询引擎来提交sql作业;如果数据量在1000万到1亿之间,并且不存在join操作,group by操作或者distinct操作,使用presto作为查询引擎提交sql作业;除以上三种情况,使用spark作为查询引擎提交sql作业。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京集奥聚合科技有限公司,未经北京集奥聚合科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610887292.4/1.html,转载请声明来源钻瓜专利网。