CN117891827A - 数据处理方法、数据处理装置以及计算机存储介质 - Google Patents
数据处理方法、数据处理装置以及计算机存储介质 Download PDFInfo
- Publication number
- CN117891827A CN117891827A CN202311793323.6A CN202311793323A CN117891827A CN 117891827 A CN117891827 A CN 117891827A CN 202311793323 A CN202311793323 A CN 202311793323A CN 117891827 A CN117891827 A CN 117891827A
- Authority
- CN
- China
- Prior art keywords
- processing
- engine
- data
- data processing
- statement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 432
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000005457 optimization Methods 0.000 claims description 16
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005192 partition Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、数据处理装置以及计算机存储介质,该数据处理方法包括:获取用户输入的数据库处理语句;对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎;基于处理引擎对数据库处理语句进行语句处理得到数据处理计划;使用处理引擎执行数据处理计划得到数据处理结果。通过上述方式,本申请通过对数据库处理语句进行分流处理得到对应的处理引擎,再基于处理引擎生成数据处理计划对数据进行处理的方法,可以减少重复生成数据处理计划的冗余步骤,在保证数据被正常处理的同时降低了数据处理的耗时,从而提高了数据处理的效率。
Description
技术领域
本申请涉及数据处理领域,特别是涉及一种数据处理方法、数据处理装置以及计算机存储介质。
背景技术
随着互联网技术和计算机科学的不断发展,当今的世界充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等。除了文本类型的数据,图像、音乐、声音都是数据,因此需要将数据存放在数据库中以便于数据的存储和管理。
随着云计算的发展和大数据时代的到来,关系型数据库越来越无法满足需要,这主要是由于越来越多的半关系型和非关系型数据需要用数据库进行存储管理,以此同时,分布式技术等新技术的出现也对数据库的技术提出了新的要求,于是越来越多的非关系型数据库就开始出现,这类数据库与传统的关系型数据库在设计和数据结构有了很大的不同,它们更强调数据库数据的高并发读写和存储大数据。
Hive是一个基于Hadoop的数据仓库工具用于在对分布式数据库中数据进行分析处理的过程中。而当前使用的Hive on SQL和Hive on Spark的数据处理速度无法满足企业中大批量数据的处理需求。
发明内容
本申请主要解决的技术问题是如何提高数据处理的速率,对此,本申请提供一种数据处理方法、数据处理装置以及计算机存储介质。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种数据处理方法,该方法包括:获取用户输入的数据库处理语句;对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎;基于处理引擎对数据库处理语句进行语句处理得到数据处理计划;使用处理引擎执行数据处理计划得到数据处理结果。
其中,对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎,包括:获取数据库处理语句的引擎配置参数,对引擎配置参数进行分流处理;响应于引擎配置参数为第一预设值,获取数据库处理语句的引擎运行参数;判断引擎运行参数是否为第二预设值;若是,则基于所述分流结果确定数据库处理语句的处理引擎为在处理工具运行的第一处理引擎,第一处理引擎的处理速度大于第二处理引擎;若否,则基于所述分流结果确定数据库处理语句的处理引擎为本地运行的第一处理引擎。
其中,在获取数据库处理语句的引擎配置参数,对引擎配置参数进行分流处理之后,还包括:响应于引擎配置参数不为第一预设值,基于分流结果确定数据库处理语句的处理引擎为第二处理引擎,第二处理引擎的处理速度小于第一处理引擎。
其中,当处理引擎为第一处理引擎时,在使用处理引擎执行数据处理计划得到数据处理结果之后,数据处理方法还包括:将数据处理结果的数据类型和对象类别进行转换,得到最终结果数据。
其中,在确定数据库处理语句的处理引擎为在处理工具运行的第一处理引擎之后,数据处理方法还包括:判断基于第一处理引擎运行的应用是否处于启动状态;若是,则使用处于启动状态的应用对数据库处理语句进行语句处理得到数据处理计划;若否,则启动新的应用对数据库处理语句进行语句处理得到数据处理计划。
其中,基于处理引擎对数据库处理语句进行语句处理得到数据处理计划,包括:对数据库处理语句进行解析得到解析计划;响应于解析计划涉及的数据中与对应数据库中的实际数据一致,基于优化规则对解析计划进行规则优化;基于转换规则对优化后的解析计划进行转换生成数据处理计划。
其中,处理引擎包括第一处理引擎和第二处理引擎;当处理引擎为第一处理引擎时,在基于处理引擎对数据库处理语句进行语句处理得到数据处理计划之后,数据处理方法还包括:判断数据库处理语句的语法是否兼容;若是,则基于数据处理计划生成对应的任务集合,并分区执行任务得到数据处理结果;若否,则使用第二处理引擎执行数据处理计划。
其中,数据处理结果包括结果数据、结果数据的存储路径和/或结果数据的模式信息。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种数据处理装置,该数据处理装置包括处理器和存储器,存储器与处理器耦接,存储器存储有程序数据,处理器用于执行程序数据以实现如上述的数据处理方法。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质存储有程序数据,程序数据在被执行时,用于实现上述的数据处理方法。
本申请的有益效果是:区别于现有技术的情况,本申请提供的数据处理方法包括:获取用户输入的数据库处理语句;对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎;基于处理引擎对数据库处理语句进行语句处理得到数据处理计划;使用处理引擎执行数据处理计划得到数据处理结果。通过上述方式,与常规的数据处理方法相比,本申请采用的先对数据库处理语句分流处理得到对应的处理引擎,再基于处理引擎生成用于数据处理的数据处理计划的方法,可以在选定处理语句的处理引擎后再生成对应的数据处理计划,对于一条数据库处理语句只需进行一次生成数据处理计划的操作,减少了数据处理计划的生成耗时,提高了数据处理的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1是本申请提供的数据处理方法第一实施例的流程示意图;
图2是本申请提供的数据处理装置中应用数据处理方法的整体流程示意图;
图3是本申请提供的数据处理方法第二实施例的流程示意图;
图4是本申请提供的数据处理方法一实施例中对数据库处理语句分流判断的流程示意图;
图5是本申请提供的数据处理方法第三实施例的流程示意图;
图6是本申请提供的数据处理方法一实施例中使用第一处理引擎对数据库处理语句进行处理的流程示意图;
图7是本申请提供的数据处理装置第一实施例的结构示意图;
图8是本申请提供的数据处理装置第二实施例的结构示意图;
图9是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
本申请提供的数据处理方法主要应用于一种数据处理装置,其中,本申请的数据处理装置可以为服务器,也可以为由服务器和终端设备相互配合的系统。相应地,数据处理装置包括的各个部分,例如各个单元、子单元、模块、子模块可以全部设置于服务器中,也可以分别设置于服务器和终端设备中。
进一步地,上述服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块,例如用来提供分布式服务器的软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。在一些可能的实现方式中,本申请实施例的数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
本申请提供的数据处理方法主要应用于基于Hiveserver2的SQL数据库处理语句的执行中,数据处理装置将根据数据库处理语句的配置参数进行分流处理得到对应的处理引擎,再基于处理引擎生成数据处理计划对数据进行处理。
目前的数据处理方法在使用不同处理引擎对数据库处理语句进行处理时,会分别在不同的处理引擎端对数据库处理语句进行语法解析、生成数据处理计划等操作,冗余的数据处理步骤导致数据处理的效率变低。基于此,本申请提供了一种数据处理方法,下面对本申请所采用的技术方案进行详细说明。
参阅图1和图2,图1是本申请提供的数据处理方法第一实施例的流程示意图;图2是本申请提供的数据处理装置中应用数据处理方法的整体流程示意图。
步骤11:获取用户输入的数据库处理语句。
具体地,用户可以使用客户端如JDBC客户端向数据处理装置提交数据库处理语句SQL。
步骤12:对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎。
具体地,数据处理装置中搭载了Hiveserver2,Hive是一个基于Hadoop的数据仓库工具,用来进行数据提取、转化、加载,提供了类似于关系数据库SQL的查询语言HiveSQL,用户可以通过HiveSQL语句快速实现简单的MapReduce统计,即能将SQL语句转变成MapReduce任务来执行。目前Hive包括Hiveserver2服务和Hive metastore服务。HiveServer2是一个服务接口,能够允许远程的客户端去执行SQL请求且得到检索结果,主要用于接收Thrift客户端的基于Thrift协议的SQL语句请求,并实现了SQL语法解析、优化、生成执行任务等功能。
在本申请一实施例中,在接收到输入的数据库处理语句后,数据处理装置需要对数据库处理语句进行分流处理。具体的分流处理可以使用如图3所示的方法实现。参阅图3和图4,图3是本申请提供的数据处理方法第二实施例的流程示意图;图4是本申请提供的数据处理方法一实施例中对数据库处理语句分流判断的流程示意图。
步骤31:获取数据库处理语句的引擎配置参数,对引擎配置参数进行分流处理。
具体地,数据处理装置通过获取当前的引擎配置参数hive.direct.sparksql.enable的参数值,并对引擎配置参数进行分流处理得到分流结果,基于分流结果判断数据库处理语句SQL是否由Spark SQL引擎处理。
具体地,Spark SQL它主要用于结构化数据处理和对Spark数据执行类SQL的查询。通过Spark SQL,可以针对不同格式的数据执行ETL操作(如JSON,Parquet,数据库)然后完成特定的查询操作。。Spark SQL提供了十分友好的SQL接口,可以与来自多种不同数据源的数据进行交互。
步骤32:响应于引擎配置参数为第一预设值,获取数据库处理语句的引擎运行参数。
具体地,当引擎配置参数为第一预设值时,确认当前数据库处理语句SQL由第一处理引擎即Spark SQL引擎处理。在确定处理引擎为Spark SQL引擎后,数据处理装置还会根据引擎运行参数确定Spark SQL引擎的运行环境。其中,第一预设值的具体取值可以根据用户需求自行设定,在本申请一实施例中可以以true作为第一预设值以便于数据处理装置判断。
可选地,当引擎配置参数不为第一预设值时,数据处理装置使用第二处理引擎即Hiveserver2的原生引擎Hive on Spark处理数据库处理语句SQL。Hive on Spark是Hive社区开发的,让Hive基于Spark计算引擎执行任务进行计算的一种任务执行模式,Hive侧(Hiveserver2)可以进行SQL语法解析、优化、生成执行任务等工作,Spark侧(Spark应用)可以根据Hive侧生成的执行任务进行计算。Hive on Spark第二处理引擎的处理效率小于第一处理引擎Spark SQL。
数据处理装置通过引擎配置参数对数据库处理语句进行分流处理,使得一些数据库处理语句由Hiveserver2服务执行,一些数据库处理语句由Spark SQL执行,提高了数据处理的效率。
步骤33:判断引擎运行参数是否为第二预设值。
具体地,数据处理装置在引擎配置参数为第一预设值时,还会通过获取当前的引擎运行参数hive.direct.sparksql.master的参数值,对引擎运行参数进一步分流处理,以得到分流结果,基于分流结果判断Spark SQL引擎是否在本地运行。当引擎运行参数为第二预设值时,进入步骤34;当引擎运行参数不为第二预设值时,进入步骤35。
其中,第二预设值可以为yarn,表示使用处理工具运行第一处理引擎;当引擎运行参数不为第二预设值时,引擎运行参数可以为local表示第一处理引擎在本地运行。
步骤34:确定数据库处理语句的处理引擎为在处理工具运行的第一处理引擎。
在本申请一实施例中,第一处理引擎运行的处理工具可以为Yarn。Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程序则相当于运行于操作系统之上的应用程序。当在Yarn上处理数据时,可以不用启动执行应用,因此减少了第一处理引擎处理数据库处理语句的处理耗时以及内存等资源占用。
在本申请一实施例中,当第一处理引擎在Yarn处理工具上运行时,数据处理装置使用如图5所示的方法判断Yarn上是否启动了用于生成数据处理计划的Spark SQL应用。参阅图5,图5是是本申请提供的数据处理方法第三实施例的流程示意图。
步骤51:判断基于第一处理引擎运行的应用是否处于启动状态。
具体地,若数据处理装置判断基于第一处理引擎运行的Spark SQL应用处于启动状态,则进入步骤52,否则进入步骤53。
步骤52:使用处于启动状态的应用对数据库处理语句进行语句处理得到数据处理计划。
具体地,Spark SQL应用接收数据处理装置发送的数据库处理语句后,使用如步骤13所示的方法生成数据处理计划。
步骤53:启动新的应用对数据库处理语句进行语句处理得到数据处理计划。
具体地,若没有处于启动状态的Spark SQL应用,则数据处理装置启动一个新的Spark SQL应用,使用如步骤13所示的方法生成数据处理计划。
步骤35:确定数据库处理语句的处理引擎为本地运行的第一处理引擎。
在本申请一实施例中,当第一处理引擎在本地运行时,Hiveserver2服务使用Spark SQL的本地模式执行数据库处理语句。由于在Hiveserver2本地使用Spark SQL执行需要计算资源的任务会影响Hiveserver2本身性能,因此本地运行的第一处理引擎通常用于无需计算资源的DDL操作,比如对数据库进行操作的数据库处理语句SQL“showdatabases”,对表进行操作的数据库处理语句SQL“create table”等。
步骤13:基于处理引擎对数据库处理语句进行语句处理得到数据处理计划。
具体地,数据处理装置对数据库处理语句进行解析得到解析计划;响应于解析计划涉及的数据中与对应数据库中的实际数据一致,基于优化规则对解析计划进行规则优化;基于转换规则对优化后的解析计划进行转换生成数据处理计划。
在本申请一实施例中,当处理引擎为第一处理引擎即Spark SQL时,数据处理装置使用如图5所示的方法生成数据处理计划。请继续参阅图2和图5,图5是本申请提供的数据处理方法一实施例中使用第一处理引擎对数据库处理语句进行处理的流程示意图。
具体地,数据处理装置中的Spark SQL引擎接收SQL任务,对SQL任务进行Antlr解析,采用未解决的逻辑计划(Unresolved Logical Plan)组件访问hive metastore,确定SQL任务涉及的表名和字段名等信息是否与实际数据一致,如果一致,采用解析逻辑计划(Analyzed Logical Plan)组件进行缓存(Cache)复用,以及使用谓词下推、常量变换、列裁剪等优化规则进行规则优化,得到基于规则的优化方式(rule-based optimization,RBO),然后采用最优逻辑计划(Optimized Logical Plan)组件使用统计信息进行Join类型的选择进行逻辑优化,得到基于代价的优化方式(cost-based optimization,CBO),再然后采用Spark Plan组件根据转换规则(如填充算子)对优化后的逻辑计划进行转化,得到数据处理计划。
具体地,在基于处理引擎对数据库处理语句进行语句处理得到数据处理计划之后,数据处理装置还会判断数据库处理语句的语法是否兼容;若是,则基于数据处理计划生成对应的任务集合,并分区执行任务得到数据处理结果;若否,则使用第二处理引擎即Hiveon Spark执行数据处理计划。
步骤14:使用处理引擎执行数据处理计划得到数据处理结果。
具体地,继续以Spark SQL引擎为例,数据处理装置采用物理计划(PhysicalPlan)组件执行数据处理计划,将任务结果返回给Spark RDD,再调用Spark RDD相关的API进行任务计算,得到数据处理结果。
可选地,当第一处理引擎Spark SQL引擎在本地运行时,数据处理装置将得到的数据处理结果写入Hiveserver2本地临时目录,Hiveserver2根据本地Spark SQL应用返回的结果数据、结果数据的存储路径(Hiveserver2本地)构造抓取任务,用于抓取结果数据。
可选地,当第一处理引擎Spark SQL引擎在Yarn等处理工具上运行时,数据处理装置将得到的数据处理结果写入HDFS分布式系统中,在Spark SQL应用执行完任务后,Hiveserver2根据Spark SQL应用返回过来的结果数据和结果数据的存储路径构造抓取任务,用于抓取结果数据。
在本申请另一实施例中,请继续参阅图2,当使用第二处理引擎即原生Hive onSpark引擎生成数据处理计划时,原生Hive on Spark引擎依次进行Antlr解析、逻辑计划树转换、权限校验、逻辑计划优化、物理计划(即执行任务)转换等操作。然后数据处理装置会判断是否已经启动了Spark应用,如果没有启动,则启动一个新的Spark应用;如果已经启动,则复用该Spark应用。该Spark应用主要负责接收刚才Hiveserver2生成的执行任务,并调用Spark弹性分布式数据集(resilient distributed datasets,RDD)相关的API进行任务计算。任务计算结束后,将计算结果返回给Hiveserver2,并将最终结果数据发送给用户。
通过上述分流选择数据库处理语句使用的处理引擎为第一处理引擎或第二处理引擎,实现了Hive和Spark SQL的组合使用,可以同时兼容Hive SQL语法和Spark SQL语法,用户甚至可以不用修改任何SQL语句,就可以使用Spark SQL引擎,发挥了Spark SQL卓越的SQL语句执行能力,可以大幅提升Hive的SQL语句执行性能,优化了由Hive on SQL引擎带来的性能问题。
在本申请一实施例中,当处理引擎为第一处理引擎时,在得到数据处理结果后,数据处理装置还将数据处理结果的数据类型和对象类别进行转换,得到最终结果数据,从而保证Hiveserver2能够得到可以识别的数据,并将最终结果数据发送给用户。
具体地,数据处理装置将结果数据对象类别中每一列的类型和Row类型转换为Hive服务能识别的Hive类型和数据类型。针对数据处理结果中的每一行数据,数据处理装置将该行数据中的每列数据的数据类型转换为Hive服务对应的数据类型。由于该行数据中每列数据的数据类型可能存在差异,因此将每列数据的数据类型分别转换成Hive服务对应的数据类型,可以使得Hive服务准确识别到每个数据。
区别于现有技术的情况,本申请提供的数据处理方法包括:获取用户输入的数据库处理语句;对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎;基于处理引擎对数据库处理语句进行语句处理得到数据处理计划;使用处理引擎执行数据处理计划得到数据处理结果。通过上述方式,与常规的数据处理方法相比,本申请采用的先对数据库处理语句分流处理得到对应的处理引擎,再基于处理引擎生成用于数据处理的数据处理计划的方法,可以在选定处理语句的处理引擎后再生成对应的数据处理计划,对于一条数据库处理语句只需进行一次生成数据处理计划的操作,减少了数据处理计划的生成耗时,提高了数据处理的效率。
上述实施例的方法,可以利用一数据处理装置来实现,下面结合图7进行描述,图7是本申请提供的数据处理装置第一实施例的结构示意图。
如图7所示,本申请实施例的数据处理装置70包括语句获取模块71、分流模块72、引擎处理模块73和数据处理模块74。
其中,配置获取模块71,用于获取用户输入的数据库处理语句。
分流模块72,用于对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎。
引擎处理模块73,用于基于处理引擎对数据库处理语句进行语句处理得到数据处理计划。
数据处理模块74,用于使用处理引擎执行数据处理计划得到数据处理结果。
上述实施例的方法,可以利用一数据处理装置来实现,下面结合图8,图8是本申请提供的数据处理装置第二实施例的结构示意图,该数据处理装置80包括存储器81和处理器82,存储器81用于存储程序数据,处理器82用于执行程序数据以实现如下的方法:
获取用户输入的数据库处理语句;对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎;基于处理引擎对数据库处理语句进行语句处理得到数据处理计划;使用处理引擎执行数据处理计划得到数据处理结果。
参阅图9,图9是本申请提供的计算机可读存储介质一实施例的结构示意图,该计算机可读存储介质90存储有程序数据91,程序数据91在被处理器执行时,用于实现如下的方法:
获取用户输入的数据库处理语句;对数据库处理语句进行分流处理,得到分流结果,基于分流结果确定数据库处理语句的处理引擎;基于处理引擎对数据库处理语句进行语句处理得到数据处理计划;使用处理引擎执行数据处理计划得到数据处理结果。
本申请的实施例以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种数据处理方法,其特征在于,所述数据处理方法包括:
获取用户输入的数据库处理语句;
对所述数据库处理语句进行分流处理,得到分流结果,基于所述分流结果确定所述数据库处理语句的处理引擎;
基于所述处理引擎对所述数据库处理语句进行语句处理得到数据处理计划;
使用所述处理引擎执行所述数据处理计划得到数据处理结果。
2.根据权利要求1所述的数据处理方法,其特征在于,
所述对所述数据库处理语句进行分流处理,得到分流结果,基于所述分流结果确定所述数据库处理语句的处理引擎,包括:
获取所述数据库处理语句的引擎配置参数,对所述引擎配置参数进行分流处理;
响应于所述引擎配置参数为第一预设值,获取所述数据库处理语句的引擎运行参数;
判断所述引擎运行参数是否为第二预设值;
若是,则基于所述分流结果确定所述数据库处理语句的处理引擎为在处理工具运行的所述第一处理引擎,其中,所述第一处理引擎的处理速度大于所述第二处理引擎;
若否,则基于所述分流结果确定所述数据库处理语句的处理引擎为本地运行的所述第一处理引擎。
3.根据权利要求2所述的数据处理方法,其特征在于,
在所述获取所述数据库处理语句的引擎配置参数,对所述引擎配置参数进行分流处理之后,还包括:
响应于所述引擎配置参数不为所述第一预设值,基于所述分流结果确定所述数据库处理语句的处理引擎为第二处理引擎,所述第二处理引擎的处理速度小于所述第一处理引擎。
4.根据权利要求2所述的数据处理方法,其特征在于,
当所述处理引擎为所述第一处理引擎时,在所述使用所述处理引擎执行所述数据处理计划得到数据处理结果之后,所述数据处理方法还包括:
将所述数据处理结果的数据类型和对象类别进行转换,得到最终结果数据。
5.根据权利要求2的数据处理方法,其特征在于,
在所述确定所述数据库处理语句的处理引擎为在处理工具运行的第一处理引擎之后,所述数据处理方法还包括:
判断基于所述第一处理引擎运行的应用是否处于启动状态;
若是,则使用处于所述启动状态的应用对所述数据库处理语句进行语句处理得到所述数据处理计划;
若否,则启动新的应用对所述数据库处理语句进行语句处理得到所述数据处理计划。
6.根据权利要求1所述的数据处理方法,其特征在于,
所述基于所述处理引擎对所述数据库处理语句进行语句处理得到数据处理计划,包括:
对所述数据库处理语句进行解析得到解析计划;
响应于所述解析计划涉及的数据中与对应数据库中的实际数据一致,基于优化规则对所述解析计划进行规则优化;
基于转换规则对优化后的解析计划进行转换生成所述数据处理计划。
7.根据权利要求1所述的数据处理方法,其特征在于,
所述处理引擎包括第一处理引擎和第二处理引擎;
当所述处理引擎为所述第一处理引擎时,在所述基于所述处理引擎对所述数据库处理语句进行语句处理得到数据处理计划之后,所述数据处理方法还包括:
判断所述数据库处理语句的语法是否兼容;
若是,则基于所述数据处理计划生成对应的任务集合,并分区执行任务得到数据处理结果;
若否,则使用所述第二处理引擎执行所述数据处理计划。
8.根据权利要求1所述的数据处理方法,其特征在于,
所述数据处理结果包括结果数据、所述结果数据的存储路径和/或所述结果数据的模式信息。
9.一种数据处理装置,其特征在于,所述数据处理装置包括存储器以及与所述存储器耦接的处理器;
其中,所述存储器用于存储程序数据,所述处理器用于执行所述程序数据以实现如权利要求1至8任一项所述的数据处理方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储程序数据,所述程序数据在被计算机执行时,用以实现如权利要求1至8任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311793323.6A CN117891827A (zh) | 2023-12-22 | 2023-12-22 | 数据处理方法、数据处理装置以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311793323.6A CN117891827A (zh) | 2023-12-22 | 2023-12-22 | 数据处理方法、数据处理装置以及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117891827A true CN117891827A (zh) | 2024-04-16 |
Family
ID=90645107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311793323.6A Pending CN117891827A (zh) | 2023-12-22 | 2023-12-22 | 数据处理方法、数据处理装置以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891827A (zh) |
-
2023
- 2023-12-22 CN CN202311793323.6A patent/CN117891827A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6617117B2 (ja) | 半構造データのためのスケーラブルな分析プラットフォーム | |
US11907216B2 (en) | Multi-language fusion query method and multi-model database system | |
AU2015219105B2 (en) | Implementation of semi-structured data as a first-class database element | |
CN105824957A (zh) | 分布式内存列式数据库的查询引擎系统及查询方法 | |
US20130124545A1 (en) | System and method implementing a text analysis repository | |
CN111506621B (zh) | 一种数据统计方法及装置 | |
Aranda-Andújar et al. | AMADA: web data repositories in the amazon cloud | |
CN101021874A (zh) | 一种对查询sql请求进行优化的方法及装置 | |
CN107291770B (zh) | 一种分布式系统中海量数据的查询方法及装置 | |
CN114356971A (zh) | 数据处理方法、装置以及系统 | |
CN110909077A (zh) | 一种分布式存储方法 | |
US11893026B2 (en) | Advanced multiprovider optimization | |
Fu et al. | Geabase: A high-performance distributed graph database for industry-scale applications | |
CN117093599A (zh) | 面向异构数据源的统一sql查询方法 | |
US6470331B1 (en) | Very large table reduction in parallel processing database systems | |
CN108153859A (zh) | 一种基于Hadoop与Spark的效用次序并行确定方法 | |
CN108228654A (zh) | 一种大数据分布式存储方法和系统 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
CN113779349A (zh) | 数据检索系统、装置、电子设备和可读存储介质 | |
CN117827881A (zh) | 一种基于历史信息的Spark SQL Shuffle任务数优化系统 | |
Gombos et al. | P-Spar (k) ql: SPARQL evaluation method on Spark GraphX with parallel query plan | |
CN117891827A (zh) | 数据处理方法、数据处理装置以及计算机存储介质 | |
CN110781205A (zh) | 一种基于jdbc的数据库直查方法、装置及系统 | |
CN116401277A (zh) | 数据处理方法、装置、系统、设备及介质 | |
CN115982230A (zh) | 数据库的跨数据源查询方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |