掌桥专利:专业的专利平台
掌桥专利
首页

一种大数据查询方法、系统及计算机可读存储介质

文献发布时间:2023-06-19 11:42:32


一种大数据查询方法、系统及计算机可读存储介质

技术领域

本发明涉及大数据技术领域,尤其涉及一种大数据查询方法、系统及计算机可读存储介质。

背景技术

随着技术的发展与社会的进步,大数据的应用领域越来越多,针对大数据的查询平台也日益重要。目前大部分大数据查询系统以开源的Hue或Zeppelin为主,或者是直接使用Linux终端配置不同的Client直接进行查询。现有的大数据查询方法或系统需要适配于特定的数据库或引擎,资源使用情况不够详细,报错信息通常是标准化处理不能适配各种用户需求,用户权限管理不够灵活,导致无法灵活高效适配各类工作需求。因此需要一种更为灵活可适配各种用户需求的大数据查询方法和系统。

发明内容

本发明的目的在于提供一种大数据查询方法系统、系统及计算机可读存储介质,旨在解决现有技术中查询系统需适配特定的数据库及引擎,无法适配各种用户需求的问题。

第一方面,本发明提供了一种大数据查询方法,所述方法包括:

接收用户权限申请并分配权限给所述用户;

接收所述用户选择的查询服务和输入的SQL查询语句;

解析所述SQL查询语句并分发任务到计算引擎;

输出所述计算引擎执行任务返回的查询结果、日志、资源使用率以及任务信息。

第二方面,本发明提供了一种大数据查询系统,所述系统包括:

权限管理模块,用于接收用户权限申请并分配权限给用户;

输入模块,用于接收用户选择的查询服务和用户输入的SQL查询语句;

SQL解析模块,用于解析SQL语句并分发任务到计算引擎;

输出模块,用于输出所述计算引擎执行任务返回的日志、查询结果、资源使用率和任务信息;和

功能设置模块,用于接受用户输入以设置功能。

第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上所述的大数据查询方法的步骤。

在本发明中,通过给客户分配不同权限,允许用户选择查询服务及输入统一化的SQL查询语句,集成了多种查询场景,支持海量数据下各种分布式数据存储引擎和常规数据库的查询,对资源使用率按照最细粒度进行展示和管控,给用户做优化提供参考,在SQL查询语句涉及系统风险时进行拦截,在查询结果被下载时进行敏感数据检测,从而保证了数据的安全性与服务的稳定性,此外还支持用户对日志报错统一处理、自定义系统通知、多选项卡查询、派发随机红包、对每个人设置上传下载量级等功能进行定制,从而可灵活对接其他系统的权限体系、告警、通知、红包服务等,以适配各种用户需求。

附图说明

图1是本发明实施例一提供的一种大数据查询方法的流程图。

图2是本发明实施例二提供的一种大数据查询系统的模块框图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

如图1所示,本发明实施例一提供的大数据查询方法包括以下步骤,需注意的是,若有实质上相同的结果,本发明的大数据查询方法并不以图1所示的流程顺序为限。

S101、接收用户权限申请并分配权限给所述用户。

在本发明实施例一中,用户的权限申请包括但不限于可使用的查询引擎、可访问的数据库、可访问的数据表申请,分配权限给用户可以是自动根据用户权限申请分配引擎查询权限、数据库、数据表访问权限给用户,还可以是管理员审批用户权限申请流程后分配给用户。在接收用户权限申请时,用户、数据库、数据表和函数权限被记录,等权限审批通过后,这些元信息会相应变更。当用户输入SQL语句进行查询时,会对这些SQL的元信息进行解析和审查。系统底层通过API调用的形式,保存有各查询引擎的链接地址和帐号密码等信息,直接由管理员进行统一配置。

S102、接收所述用户选择的查询服务和输入的SQL查询语句。

在本发明实施例一中,用户可以选择自己所需的查询服务,其中查询服务可以选择Hive、ES、Kafka、Mongodb、或Phoenix中的一个或多个。用户在选择查询服务后,输入SQL查询语句后即可进行查询。多种查询场景被集成从而统一了查询入口,用户可以以一种统一SQL化的可视化查询方式进行查询,支持海量数据下各种分布式数据存储引擎和常规数据库的查询。

S103、解析所述SQL查询语句并分发任务到计算引擎。

用户输入的SQL查询语句被解析,当检验到不规范的或者是可以优化的SQL语句,输出优化指导信息以指导用户优化SQL查询语句,指引用户进阶学习,优化指导信息可以定时更新或者通过人工添加。当出现SQL语句语法报错或运行时报错时,进行格式化处理或者是用户预设化处理,预设化处理允许用户预设报错处理信息,支持链接到知识文档库或答疑机器人。SQL语句经过解析后生成SQL画像信息,根据SQL画像信息设定路由算法自动把计算任务分发到最快的计算引擎,用户无需关注底层运算逻辑。其中SQL画像信息是读入数据量、读入表/分区数、各类Join次数、关联字段多少、聚合复杂度、过滤条件中的一个或多个,计算引擎是Presto、Spark SQL、Druid、MR、TEZ中的一个或多个。此外,当SQL查询语句被检测到有风险和/或涉及系统稳定性的操作时会被拦截。

S104、输出所述计算引擎执行任务返回的查询结果、日志、资源使用率以及任务信息。

计算引擎执行查询任务后返回查询结果、日志、资源使用率以及任务信息,查询结果被输出,查询结果的数据可以下载,下载量级由管理员预先对个人进行设置,下载数据被检测当下载数据中包含敏感数据,则会被自动加密或者是触发数据安全审批流。当前查询过程的日志可以实时输出,用户也可以查看历史日志,选择不同的选项卡查询,会对应展示不同的查询结果,其中报错日志支持用户自定义说明、文档或知识指引。当查询任务被执行时可以实时输出资源使用率和任务信息,其中资源使用率可以按照部门、队列、人员、任务等中的一个或多个维度进行细粒度展示和管控,任务信息包括任务的SQL明细、任务状态信息等。用户可以根据资源使用率进行终止任务、移除任务等进行相应调控。

在本发明实施例一中,大数据查询方法还可以包括步骤:

S105、接收用户输入并设置功能,所述功能包括惊喜红包、系统通知、大数据量级的上传下载、多选项卡查询、或日志报错统一处理中的一个或多个。惊喜红包功能可以根据用户SQL的运行情况,触发一定机率给予红包奖励。系统通知功能可以允许用户自定义想展示的通知信息。大数据量级的上传下载功能支持将Excel文件直接上传成hive表、支持文件上传功能(包括jar、txt、excel、压缩文件等不同形式的存储格式),支持大文件下载,还可以设置不同用户拥有不同量级的下载权限,还可以设置当下载数据中包含敏感数据则触发敏感数据审核机制。多选项卡查询功能支持多个窗口并行查询,用户不用开启多个窗口页面。日志报错统一处理功能将系统报错进行统一封装并分类处理,使得繁杂的堆栈报错更加人性化,并且可以指定链接到各个系统服务的知识库中,用户可随时查看各类帮助文档信息。

如图2所示,本发明实施例二提供了一种大数据查询系统200,包括权限管理模块201、输入模块202、SQL解析模块203、输出模块204、功能设置模块205。

权限管理模块201,用于接收用户权限申请并分配权限给用户。用户的权限申请包括但不限于可使用的查询引擎、可访问的数据库、可访问的数据表,系统或者管理员可以根据用户权限申请分配引擎查询权限、数据库、数据表访问权限给用户。在接收用户权限申请时,系统会记录用户的数据库、数据表和函数权限,等权限审批通过后,会将这些元信息进行变更。当用户写SQL进行查询时,会对这些SQL的元信息进行解析和审查。系统底层通过API调用的形式,保存有各查询引擎的链接地址和帐号密码等信息,直接由管理员进行统一配置。

输入模块202,用于接收用户选择的查询服务和用户输入的SQL查询语句。其中查询服务是Hive、ES、Kafka、Mongodb、或Phoenix中的一个或多个。大数据查询系统200通过输入模块202统一了查询入口,集成多种查询场景,以一种统一SQL化的可视化查询方式,支持海量数据下各种分布式数据存储引擎和常规数据库的查询。

SQL解析模块203,用于解析SQL语句并分发任务到计算引擎。具体地,SQL解析模块203可以检验不规范或者可以优化的SQL语句,并输出优化指导信息,优化指导信息可以定时更新或者通过人工添加。SQL解析模块203可以对SQL语法报错或运行时报错给予格式化处理或者是用户预设化处理,预设化处理可以预设报错处理信息,支持链接到知识文档库或答疑机器人。SQL解析模块203根据SQL画像信息设定路由算法自动把计算任务分发到最快的计算引擎,用户无需关注底层运算逻辑。其中SQL画像信息是读入数据量、读入表/分区数、各类Join次数、关联字段多少、聚合复杂度、过滤条件中的一个或多个,计算引擎支持Presto、Spark SQL、Druid、MR、TEZ中的一个或多个。SQL解析模块203当检测到有风险和/或涉及系统稳定性的操作时进行拦截。

输出模块204,用于输出日志、查询结果、资源使用率和任务信息。当前查询过程的日志可以实时输出,历史日志也可以查看,其中报错日志支持自定义说明、文档或知识指引。查询结果的数据可以下载,下载量级由管理员预先对个人进行设置,当下载数据中包含敏感数据,则会自动加密或者是触发数据安全审批流。输出模块204还可以输出当前任务执行时的资源使用率以及任务信息。其中资源使用率可以按照部门、队列、人员、任务等中的一个或多个维度进行细粒度展示和管控,任务信息包括任务的SQL明细、任务状态信息等。用户可以根据资源使用率进行终止任务或移除任务等进行相应调控。

功能设置模块205,用于接收用户输入以设置功能,其中功能包括惊喜红包、系统通知、大数据量级的上传下载、多选项卡查询、日志报错统一处理中的一个或多个。其中,惊喜红包功能可以根据用户SQL的运行情况,触发一定机率给予红包奖励。系统通知功能可以允许用户自定义想展示的通知信息。大数据量级的上传下载功能支持将Excel文件直接上传成hive表、支持文件上传功能(包括jar、txt、excel、压缩文件等不同形式的存储格式),支持大文件下载,还可以设置不同用户拥有不同量级的下载权限,还可以设置当下载数据中包含敏感数据则触发敏感数据审核机制。多选项卡查询功能支持多个窗口并行查询,用户不用开启多个窗口页面。日志报错统一处理功能将系统报错进行统一封装并分类处理,使得繁杂的堆栈报错更加人性化,并且可以指定链接到各个系统服务的知识库中,用户可随时查看各类帮助文档信息。

本发明实施例二提供的大数据查询系统与本申请一实施例提供的大数据查询方法属于同一构思,其具体实现过程详见说明书全文,此处不再赘述。

本发明实施例三提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例一所述的大数据查询方法的步骤。

在本发明中,通过给客户分配不同权限,允许用户选择查询服务及输入统一化的SQL查询语句,集成了多种查询场景,支持海量数据下各种分布式数据存储引擎和常规数据库的查询,对资源使用率按照最细粒度进行展示和管控,给用户做优化提供参考,在SQL查询语句涉及系统风险时进行拦截,在查询结果被下载时进行敏感数据检测,从而保证了数据的安全性与服务的稳定性,此外还支持用户对日志报错统一处理、自定义系统通知、多选项卡查询、派发随机红包、对每个人设置上传下载量级等功能进行定制,从而可灵活对接其他系统的权限体系、告警、通知、红包服务等,以适配各种用户需求。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种大数据查询方法、系统及计算机可读存储介质
  • 一种大数据查询方法、系统、计算机及存储介质
技术分类

06120113023073