CN110704479A - 任务处理方法、装置、电子设备及存储介质 - Google Patents
任务处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110704479A CN110704479A CN201910868292.3A CN201910868292A CN110704479A CN 110704479 A CN110704479 A CN 110704479A CN 201910868292 A CN201910868292 A CN 201910868292A CN 110704479 A CN110704479 A CN 110704479A
- Authority
- CN
- China
- Prior art keywords
- data source
- target data
- task
- executed
- engine
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供一种任务处理方法、装置、电子设备及存储介质,涉及大数据处理技术领域,该方法包括:解析输入的结构化查询语言SQL语句,获取SQL语句对应的待执行任务,以及与待执行任务相关的目标数据源的属性信息;根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎;采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务。通过对不同的数据源类型,配置对应的计算引擎,在确定了目标数据源类型后,启动其对应的计算引擎进行数据处理,使得数据访问范围有效扩大,与现有的各数据源设置统一访问引擎相比,有效避免了数据访问受限的问题。
Description
技术领域
本申请涉及大数据处理技术领域,具体而言,涉及一种任务处理方法、装置、电子设备及存储介质。
背景技术
Spark是基于内存计算的大数据计算框架,提供了分布式计算功能,提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性。SparkSQL是基于Spark的分布式结构化查询语言SQL引擎,支持SQL语句,极大的方便了用户对关系型数据库的使用。在SparkSQL中如何进行用户资源访问权限的管理,一直困扰着大数据开发人员。
现有技术中,用户在进行数据访问时,是通过统一的SQL引擎:Apache Calcite动态数据管理框架进行数据访问,其是独立于存储和执行的SQL解析、优化引擎,广泛应用于各种离线、搜索、实时查询引擎。
但是,由于现有技术只能通过默认的引擎进行数据访问,从而导致数据访问受到较大限制。
发明内容
有鉴于此,本申请实施例的目的在于提供一种任务处理方法、装置、电子设备及存储介质,用于解决现有技术中存在的数据访问受限的问题。
第一方面,本申请实施例提供了一种方法任务处理方法,该方法包括:
解析输入的结构化查询语言SQL语句,获得所述SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息;
根据所述目标数据源的属性信息确定所述目标数据源的类型,并启动所述目标数据源的类型对应的目标引擎;
采用所述目标引擎从所述目标数据源中拉取数据,并根据拉取的所述数据执行所述待执行任务。
可选地,所述目标数据源的属性信息,包括:所述目标数据源的标识和/或所述目标数据源对应的地址,所述根据所述目标数据源的属性信息确定所述目标数据源的类型,包括:
根据所述目标数据源的标识和/或所述目标数据源对应的地址确定所述目标数据源的类型。
可选地,所述方法还包括:
创建元数据管理库,所述元数据管理库包括:表的标识、各表对应的数据源的属性信息、以及各数据源的类型;
相应地,所述解析输入的结构化查询语言SQL语句,获取所述SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息,包括:
对所述SQL语句进行语义解析,获得可识别的待执行任务和所述待执行任务的表的标识;
根据所述表的标识以及所述元数据管理库,查询得到与所述待执行任务相关的所述目标数据源的属性信息。
可选地,所述根据所述目标数据源的属性信息确定所述目标数据源的类型,并启动所述目标数据源的类型对应的目标引擎,包括:
根据所述目标数据源的标识和/或所述目标数据源对应的地址,判断所述目标数据源的类型是否为流式数据源类型;
若是,则启动Flink引擎,若否,则启动Spark引擎。
可选地,所述根据所述目标数据源对应的地址,采用所述目标引擎从所述目标数据源中拉取数据,并根据拉取的所述数据执行所述待执行任务之前,还包括:
若启动Flink引擎,则将所述待执行任务转化为所述Flink引擎可识别任务信息;或者,若启动Spark引擎,则将所述待执行任务转化为Spark引擎可识别任务信息。
第二方面,本申请实施例提供了一种任务处理装置,包括:解析模块、启动模块、执行模块;
所述解析模块,用于解析输入的结构化查询语言SQL语句,获得所述SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息;
所述启动模块,用于根据所述目标数据源的属性信息确定所述目标数据源的类型,并启动所述目标数据源的类型对应的目标引擎;
所述执行模块,用于采用所述目标引擎从所述目标数据源中拉取数据,并根据拉取的所述数据执行所述待执行任务。
可选地,所述目标数据源的属性信息,包括:所述目标数据源的标识和/或所述目标数据源对应的地址;
所述启动模块,具体用于根据所述目标数据源的标识和/或所述目标数据源对应的地址确定所述目标数据源的类型。
可选地,所述装置还包括:创建模块;
所述创建模块,用于创建元数据管理库,所述元数据管理库包括:表的标识、各表对应的数据源的属性信息、以及各数据源的类型;
所述解析模块,具体用于对所述SQL语句进行语义解析,获得可识别的待执行任务和所述待执行任务的表的标识;根据所述表的标识以及所述元数据管理库,查询得到与所述待执行任务相关的所述目标数据源的属性信息。
可选地,所述启动模块,具体用于根据所述目标数据源的标识和/或所述目标数据源对应的地址,判断所述目标数据源的类型是否为流式数据源类型;若是,则启动Flink引擎,若否,则启动Spark引擎。
可选地,还包括:转化模块;
所述转化模块,用于若启动Flink引擎,则将所述待执行任务转化为所述Flink引擎可识别任务信息;或者,若启动Spark引擎,则将所述待执行任务转化为Spark引擎可识别任务信息。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如上述第一方面的任务处理方法的步骤。
第四方面,本申请实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面的任务处理方法的步骤。
本申请实施例提供的任务处理方法、装置、电子设备及存储介质,通过对输入的SQL语句进行解析,获取该SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息;根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎;采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务。通过对不同的数据源类型,配置对应的计算引擎,在确定了目标数据源类型后,启动其对应的计算引擎进行数据处理,使得数据访问范围有效扩大,与现有的各数据源设置统一访问引擎相比,有效避免了数据访问受限的问题。另外,通过提供统一的元数据管理库,打通了各个数据源之间的连接,方便了各个数据源之间的联合分析,实现了异构数据源的互通。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的任务处理框架图;
图2为本申请实施例提供的一种任务处理方法流程示意图;
图3为本申请实施例提供的另一种任务处理方法流程示意图;
图4为本申请实施例提供的又一种任务处理方法流程示意图;
图5为本申请实施例提供的另一种任务处理方法流程示意图;
图6为本申请实施例提供的一种流式数据源类型处理方法流程示意图;
图7为本申请实施例提供的一种任务处理方法流程图;
图8为本申请实施例提供的一种任务处理装置的结构示意图;
图9为本申请实施例提供的另一种任务处理装置的结构示意图;
图10为本申请实施例提供的另一种任务处理装置的结构示意图;
图11为本申请实施例提供的另一种任务处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
为使便于对本申请下述具体实施例中的内容快速理解,在此对具体实施例中包含的部分名词作出解释:
Spark:Spark是基于内存计算的大数据计算框架,提供了分布式计算功能,将分布式存储的数据读入,同时将任务分发到各个节点进行计算。Spark提高了在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark部署在大量廉价硬件之上,形成集群。
SparkSQL:SparkSQL是基于Spark的分布式结构化查询语言SQL引擎,支持SQL语句,极大的方便了熟悉关系型数据库的用户。
Hbase:HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储***,利用HBase技术可在廉价的X86服务器上搭建起大规模结构化存储集群。HBase数据库不支持SQL语言访问,而是提供了原生的API给用户使用。HBase以表的形式存储数据,表由行和列族组成,列族由若干个列组成。
Kafka:Kafka是一种高吞吐量的分布式发布订阅消息***,它可以处理消费者规模的网站中的所有动作流数据。
Flink:Flink支持流式和批量两种计算,分别对应DataStream和DataSet操作,在Table/SQL(注册表/SQL)层,两种数据使用了统一接口。
Hadoop:实现了一个分布式文件***(Hadoop Distributed File System,简称HDFS)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(largedata set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingaccess)文件***中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
需要说明的是,本申请是对Hadoop生态***中各个组件做了一层SQL引擎,方便用户使用SQL语句访问HBase,hdfs,es等组件。支持的引擎有Spark引擎,FLink引擎。对流数据(如kafka),也可以创建表,通过SQL语句读取kafka中的数据进行分析处理,处理后的数据可以分析和写入hdfs或其他组件,这一系列操作都可以通过SQL语句进行操作。对kafka这样的流数据的SQL操作,就是流SQL。对于离线数据(如hdfs),可以通过Spark引擎进行计算。
需要说明的是,本申请提供的任务处理方法主要应用于大数据处理背景下,在对存储于各种数据源(例如“HBase、HDFS、ES”等)中的数据进行访问时,通过采用本申请提供的任务处理方法,可以针对不同的数据源类型启动不同的计算引擎进行数据处理,数据访问范围有效扩大,避免了数据访问局限的问题。
图1为本申请实施例提供的数据处理框架图,如图1所示,该任务处理框架包括:结构化查询语言接口、核心层、计算框架层和数据源层。
其中,结构化查询语言接口可以包括三种访问接口,例如:***用户界面(shell)、thrift服务器监听端口(thriftServer)、应用程序编程接口(Application ProgrammingInterface,API)。
核心层可以包括:统一入口、SQL Parser解析器、元数据管理库、数据源连接器、任务封装。其中,统一入口:用于与结构化查询语言接口的多种访问接口对接,接收不同的访问方式;SQL Parser解析器:用于对SQL语句进行解析;元数据管理库:用于存储数据源与表之间的对应关系,根据表,可以获取表对应的数据源属性信息,其中,可以包括数据源的标识或者数据源的地址,从而可以确定数据源的类型;数据源连接器:用于提供数据访问接口,可以通过各种数据源对应的连接器,从数据源中访问数据,其中,不同的数据源对应的连接器是不同的;任务封装:用于根据数据源的类型,将数据源的表封装为与数据源类型相对应的任务。
计算框架层可以包括:流式数据源分析框架Spark和非流式数据源分析框架Flink。对于不同的数据源类型,可以采用不同的计算框架进行数据处理。
数据源层可以包括:HDFS(Hadoop,分布式文件***)、Hbase(分布式面向列的数据库)、关系型数据库、Kafka(分布式消息队列)数据源、ES(ElasticSearch,分布式搜索与数据分析引擎)数据源和Redis(关键值数据库)数据源等。
用户可以通过结构化查询语言接口中的任意访问接口,输入SQL语句,核心层的统一入口接收访问消息,并利用SQL Parser解析器对接收的SQL语句进行解析,根据解析的目标数据源对应的表的标识,从元数据管理库中查找表对应的数据源属性信息,进而确定该目标数据源的类型,根据目标数据源的类型,将数据源的表封装成对应的任务,对于不同的任务,采用计算框架层中对应的分析框架进行数据处理,而数据的获取可以是通过核心层中的数据源连接器,在对应的数据源地址中拉取数据并进行处理。
需要说明的是,以上只是对于本申请提供的任务处理框架的简要说明,具体的处理流程,可以参照下述内容进行辅助理解。
图2为本申请实施例提供的一种任务处理方法流程示意图,该任务处理方法的执行主体可以是计算机、服务器、处理器等具有处理功能的设备,如图2所示,该方法包括:
S101、解析输入的结构化查询语言SQL语句,获得SQL语句对应的待执行任务,以及与待执行任务相关的目标数据源的属性信息。
可选地,本申请中的数据源可以包括:Hbase数据源、ES(ElasticSearch,分布式搜索与数据分析引擎)数据源、关系型数据库、Kafka数据源、Redis(关键值数据库)数据源等。具体不限于此处列举的多个数据源。
可选地,用户可以通过客户端输入SQL语句,服务器从客户端接收该SQL语句,并使用基于Spark的语言识别工具antlr,对该SQL语句进行语法解析,并得到该SQL语句所对应的待执行任务。可选地,SQL语句对应的待执行任务可以以语义树的形式进行展示,其中,语义树可以理解为一种结果的表现形式,类似于列表等数据展示形式。
需要说明的是,在分析字符流的时候,词法分析器不关心所生成的单个词的语法意义及其与上下文之间的关系,而语法分析器Parser将收到的多个词组织起来,并转换成为目标语言语法定义所同意的序列。antlr解析器同意我们定义识别字符流的词法规则和用于解释词流的词法分析规则。然后,antlr将依据用户提供的语法文件自己主动生成对应的词法/语法分析器。用户能够利用他们将输入的文本进行编译,并转换成其它形式(如AST—Abstract Syntax Tree,抽象的语法树)。也即,在进行SQL语句解析时,先调用Parser解析器进行语法分析,获取语句中包含的多个词,并将多个词组合组合起来,作为antlr的输入,antlr则根据输入自动生成对应的语法解析器,对文本进行编译,生成对应的语法树,并可视化的显示出来。
需要说明的是,通过上述的语法解析,可以将SQL语句进行断句,划分为不同的语义段,而为了进一步地获取该SQL语句中所包含的语义信息,还可以对上述通过antlr解析获得的语法树进行语义解析,获取该SQL语句所包含的具体内容信息,得到对应的语义树。
S102、根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎。
可选地,根据上述任务信息中包括的目标数据源的属性信息可以确定目标数据源的类型,待执行任务可以包含具体对哪个数据源中的数据进行哪种操作。这样,可以根据目标数据源的类型,选取该目标数据源类型对应的目标引擎去执行相应的待执行任务。
需要说明的是,对于上述的多个数据源,其对应的数据源类型可能是相同的,也可能是不同的,其中,数据源类型可以包括,例如:流式数据源类型、非流式数据源类型等。对于类型不同的目标数据源,其采用的计算引擎也不同,这样通过对每个数据源均设置有对应的计算引擎,通过启动每个数据源对应的计算引擎,可以对每个数据源中的数据进行访问,避免了应用统一计算引擎,导致对个别数据源操作不支持的现象,从而避免了数据访问受限的问题。
在一些实施例中,上述通过语义解析获取到该SQL语句对应的目标数据源的属性信息,根据目标数据源的属性信息可以确定目标数据源的类型。例如:假设目标数据源的属性信息对应于A数据源,而A数据源对应的数据源类型为B,那么根据目标数据源的属性信息,可以确定该目标数据源的类型为B,相应的,可以根据数据源类型与目标引擎的映射关系,启动数据源类型B对应的目标引擎。
可选地,上述的数据源类型与目标引擎的映射关系可以是预先配置的,其中的配置信息可以是自定义的,也可以是默认的,此处不做限制,在具体使用过程中,当确定出目标数据源的类型后,可以根据预设的配置信息,直接调用该数据源类型对应的目标引擎进行任务处理。
S103、采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务。
上述根据目标数据源的类型,确定出目标数据源类型对应的目标引擎后,通过该目标引擎,可以从目标数据源中拉取相应的待处理数据,并根据待执行任务对该待处理数据进行相应的处理。
例如:目标数据源为A,待执行任务可以是对目标数据源A中的数据B进行修改,那么可以从目标数据源A中拉取数据B,并对B进行修改。其中,数据拉取也即数据获取,也就是从目标数据源中获取待处理数据。
需要说明的是,SQL语句对应的任务信息中包含有待执行任务,而该待执行任务是指向至少一个目标数据源,那么,根据对该SQL语句进行解析的结果,可以获取待执行任务和待执行任务对应的目标数据源的地址、目标数据源的类型,也即通过对SQL语句进行解析,根据解析结果,可以启动目标数据源对应的目标引擎,从目标数据源中拉取数据执行待执行任务。
综上,本申请实施例提供的任务处理方法,包括:解析输入的结构化查询语言SQL语句,获取SQL语句对应的待执行任务,以及与待执行任务相关的目标数据源的属性信息;根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎;采用目标引擎从目标数据源中拉取数据并根据拉取的数据执行待执行任务。通过对不同的数据源类型,配置对应的目标引擎,在确定了目标数据源类型后,启动其对应的目标引擎执行相应的任务,使得数据访问范围有效扩大,与现有的各数据源设置统一访问引擎相比,有效避免了数据访问受限的问题。
进一步地,步骤S101中,目标数据源的属性信息至少包括以下一项:目标数据源的标识和/或目标数据源对应的地址等;相应地,上述步骤S102中,根据目标数据源的属性信息确定目标数据源的类型,可以包括:
根据目标数据源的标识和/或目标数据源对应的地址确定目标数据源的类型。
可选地,目标数据源的标识可以是预先设定的编号,用于对不同的数据源进行区分,其中,相同类型的数据源,可以对应于相同的标识,或者,每种数据源均匹配不同的标识。
在一些实施例中,根据数据源的标识与数据源的类型之间的对应关系,以及该目标数据源的标识,可以对应获取目标数据源的类型。另外,也可以根据数据源的地址与数据源的类型之间的对应关系,以及目标数据源对应的地址,查找到目标数据源包含的数据类型,也即确定目标数据源的类型;还可以先根据数据源的标识与数据源的地址之间的对应关系,以及目标数据源的标识,确定目标数据源的地址,然后根据数据源的地址与数据源的类型之间的对应关系,确定目标数据源的类型。进而根据目标数据源的类型,启动目标数据源对应的目标引擎进行任务处理。
图3为本申请实施例提供的另一种任务处理方法流程示意图,进一步地,如图3所示,本申请提供的任务处理方法还包括:
S201、创建元数据管理库,元数据管理库包括:表的标识、各表对应的数据源的属性信息、以及各数据源的类型。
可选地,对于不同的数据源,对应创建有数据源对应的表,需要说明的是,元数据管理库中可以存储有表的标识、及各表与数据源的对应关系,具体的,可以是各表与数据源的属性信息的对应关系。根据元数据管理库中查找的表对应的数据源的属性信息,可以确定数据源的类型,从而根据数据源的类型对应的目标引擎,从数据源中拉取数据并实现对待执行任务的进行任务处理;此外,通过建立元数据管理库,实现了对不同数据源信息的统一管理。
相应地,解析输入的结构化查询语言SQL语句,获取SQL语句对应的任务信息,包括:
S202、对SQL语句进行语义解析,获得可识别的待执行任务和待执行任务的表的标识。
在一些实施例中,首先可以对SQL语句进行语法解析,也即,将SQL语句所包含的语法进行翻译,翻译为计算机可识别的信息。例如:SQL语句是一个字符串,而计算机只能识别二进制数字,那么通过语法解析,可以将该字符串转换为二进制数字进行表达,以便于计算机可以根据该SQL语句,解析获取该语句中包含的待执行任务和待执行任务的表的标识。
S203、根据表的标识以及元数据管理库,查询得到与待执行任务相关的目标数据源的属性信息。
可选地,根据上述解析获取的待执行任务的表的标识,可以在元数据管理库中查找对应的表,从而根据表与目标数据源的映射关系,调取与待执行任务对应的目标数据源的属性信息。需要说明的是,对于不同的数据源,对应的表的标识是不同的。
具体地,可以将获取到待执行任务的标识与存储在元数据管理库中的各数据源对应的表的标识进行匹配,根据匹配结果,确定目标数据源对应的表,并根据表查找得到目标数据源的属性信息。通过采用元数据管理库对各数据源所包含的属性信息进行统一管理,可以使得数据源管理更加高效和方便,从而使得通过元数据管理库进行信息查询的效率更高。
图4为本申请实施例提供的又一种任务处理方法流程示意图,进一步地,如图4所示,上述步骤S102中,根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎,包括:
S301、根据目标数据源的标识和/或目标数据源对应的地址,判断目标数据源的类型是否为流式数据源类型。
根据解析得到的任务信息中包含的目标数据源的属性信息,可以确定该目标数据源的类型,其中,可以是通过目标数据源的标识,确实目标数据源的类型,也可以是根据目标数据源的地址,确定目标数据源的类型,此处已在前述部分进行说明,不再一一赘述。进一步地,当确定出目标数据源的类型后,还需判断该目标数据源的类型是否为流式数据源类型。其中,流式数据源类型,也即数据源中存储的为实时数据,是一组顺序、大量、快速、连续到达的数据序列,一般情况下,可被视为一个随时间延续而无限增长的动态数据集合。
需要说明的是,在前述实施例中列举的多个数据源中,Kafka(分布式消息队列)数据源属于流式数据源类型,而其他数据源均为非流式数据源类型。
S302、若是,则启动Flink引擎。
例如,本实施例中目标数据源为Kafka数据源,其属于流式数据源类型,那么可以对应启动Flink引擎,从而利用Flink引擎对Kafka数据源中的数据进行处理。
S303、若否,则启动Spark引擎。
相反的,当判断出的目标数据源的类型不为流式数据源类型时,当目标数据源的类型为非流式数据源类型时,均启动对应的Spark引擎。
图5为本申请实施例提供的另一种任务处理方法流程示意图,进一步地,如图5所示,上述步骤S103中,根据目标数据源对应的地址,采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务之前,该方法还包括:
S401、若启动Flink引擎,则将待执行任务转化为Flink引擎可识别任务信息。
在一些实施例中,根据SQL语句解析获得的待执行任务,可能是计算引擎不可识别的任务信息,故,可以根据不同的计算引擎,将待执行任务转化为计算引擎可以识别的任务信息,即步骤S401中的可识别任务信息。
可选地,若启动Flink引擎,则可以将待执行任务转化为DataStream(流式数据集)。在一些实施例中,对于SQL语句,经过语义分析后,判断SQL语句对应的目标数据源类型为流式数据源类型后,将语义树反编译解析:SQL语句对应的目标数据源的表解析成Flink的DataStream对象,SQL语句中的filter(裁剪)等操作转化为DataStream对象的方法。比如:select key,name from kakfatable where key>20;得到的语义树大概是:
Filter(key>20)->project(kakfatable,key,name),然后通过类似于newKafkaDataStream(kakfatable)方法,将project转化为Flink引擎识别的数据集DataStream;然后进行filter操作。
S402、若启动Spark引擎,则将待执行任务转化为Spark引擎可识别任务信息。
而当启动的为Spark引擎时,可以将待执行任务转化为RDD((ResilientDistributed Datasets,弹性分布式数据集)。可选地,可以通过读取Spark中内有的接口,读取hdfs上的数据转换为RDD。
图6为本申请实施例提供的一种流式数据源类型处理方法流程示意图,如图6所示,在一些实施例中,对于流式数据源类型的处理方法可包括:
S501、读取元数据管理库。
S502、判断数据源是否为流式数据源类型。
S503、若数据源是流式数据源类型,判断数据源的表是否在流式数据源表环境中注册。
S505、若数据源的表未在流式数据源表环境中注册,则将数据源向流式数据源表环境中注册为数据输入端,或者,将数据源向流式数据源表环境中注册为数据输出端。
S504、若数据源不为流式数据源类型,判断数据源的表是否在非流式数据源集合中注册。
S506、若数据源的表未在非流式数据源集合中注册,则将数据源向非流式数据源集合中注册为数据输入端,或者,将数据源向非流式数据源集合中注册为数据输出端。
通过对SQL语句进行语义解析后,根据SQL语句对应的待执行任务的表的标识,在元数据管理库中查找目标数据源的属性信息,从而根据目标数据源的属性信息,判断目标数据源的类型是流式数据源类型,还是非流式数据源类型,若是流式数据源类型,判断目标数据源的表是否已经在streamTableEnv(流式数据源表环境)中注册,若目标数据源的表没有在streamTableEnv中注册,执行stream TableEnv.register Table Sink(将数据源向streamTableEnv中注册为数据接收端)或者stream TableEnv.register Table Source(将数据源向streamTableEnv注册为数据输出端);其中,streamTableEnv指示流式数据源的表环境,里面包括各个流式数据源的表。对应新添加的数据源,则首先需要向streamTableEnv进行注册,这样将方便元数据管理库中数据源的表的维护和使用,如果服务重启,数据源会重新注册。若是非流式数据源类型,判断目标数据源的表是否已经在batchTableEnv(非流式数据源集合)中注册,若目标数据源的表没有在batchTableEnv中注册,执行batchTableEnv.register Table Sink(将数据源向batchTableEnv中注册为数据输入端)或者batch TableEnv.register Table Source(将数据源向batchTableEnv中注册为数据输出端)。其中,batchTableEnv指示非流式数据源集合,对于非流式数据源,首先需要注册。register Table Source是指将数据源向batchTableEnv注册为数据输出端,用来进行数据读取。batch TableEnv.register Table Sink是指将数据源注册为数据输入端,用来存储数据。如select*from hbaseTable join KafkaTable,hbaseTable对应的数据源通过batchTableEnv.registerTableSource注册到batchTableEnv中,KafkaTable对应的数据源通过streamTableEnv.registerTableSourcee注册到streamTableEnv中。
以Kafka数据源为例,其对应的数据源类型为流式数据源类型,相应的启动Flink引擎进行计算。
例如:对Kafka数据源对应的表经过语义解析后,可以获取到该Kafka数据源的标识及地址;在分析器Analyzer的关系Relation规则中,会读取元数据管理库中的表对应的数据源的属性信息,生成FlinkRelation参数对象parameters。在FlinkRelation中分析参数parameter,生成Flink的源source表(或查询表sink),注册到表环境TableEnvironment中;然后在执行时,从物理执行计划中读取TableEnvironment中的表信息,然后进行相关计算。
进一步地,待执行任务还包括:待执行任务对应的多个目标数据源的标识。
相应地,采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务,包括:
根据各目标数据源对应的地址以及待执行任务,分别采用各目标数据源的类型对应的目标引擎从各目标数据源中拉取对应的数据,并执行待执行任务。
在一些实施例中,解析SQL语句后获取的待执行任务中可能仅包括对于一个数据源的数据处理信息,在另一些实施例中,也可能包括对于多个数据源的数据处理信息,即,SQL语句中包括的表的标识中,包含有多个目标数据源的表的标识。
为了对各个数据源中的数据进行联合处理,可以根据解析的SQL语句对应的待执行任务中,各个目标数据源对应的属性信息,分别确定各个目标数据源的类型,并启动对应的目标引擎,从各个目标数据源对应的地址中拉取相应的数据,再将拉取的多个数据进行聚合,统一发送到服务器进行处理。例如:通过对SQL语句进行解析,获取到的目标数据源包括:A、B、C,而对应的待执行任务包括:对A数据源中的数据a进行修改,对B数据源中的数据b进行修改,对C数据源中的数据c进行修改。这样,可以先从A数据源中拉取数据a,从B数据源中拉取数据b,从C数据源中拉取数据c,再将数据a,数据b和数据c聚合在一起,统一发送至服务器,服务器便可以根据待执行任务,统一对聚合的该部分数据进行处理,通过采用本实施例中提供的处理方法,可以直接在数据源端对数据进行过滤,只拉取所需的数据进行反馈,相比于在服务器端对各个数据源中所需的数据进行过滤,该方法打通了各个数据源之间的连接,极大的方便了数据源之间的联合分析,从而使得数据处理效果更高。
进一步地,本申请实施例提供的任务处理方法还支持对数据源的表的增删查改操作,其中,数据源的表也即存储在元数据管理库中的各个数据源对应的表,通过该数据源的表,可以查看各个数据源对应的属性信息。
一种实现方式中,接收用户输入的操作指令,该操作指令可以包括:数据源的表的标识、操作内容;根据所述操作指令获取对应数据源的属性信息;根据所述操作内容对对应数据源完成所述操作内容。该操作内容可以包括下述一项或多项:增加的内容、删除的内容、查找的内容、修改的内容等。
可选地,SQL语句中包括的可以是对元数据管理库中数据源的表的相关操作语法,但实际操作的是各个数据源中的数据,如果数据源本身不支持更新功能,则不能使用update语句。
对于数据源其本身可能存在对某些增删查改等操作不支持的情况,这样将导致对数据源中数据的操作受限。本申请提供的任务处理方法还支持对表的操作,通过对数据源对应的表的相关操作,从而在表对应的数据源中获取相应的数据,执行相应的操作内容。可选地,通过操作指令中表的标识,可以确定表对应的数据源,通过操作内容,可以确定对数据源中哪些数据进行哪种操作,例如:对确定出的数据源中的A数据进行删除操作,或者对B数据进行修改等。从而通过对表的操作,可以完成对表对应的数据源中数据的操作。
类似地,用户也可以通过操作指令对表中的内容进行增加的内容、删除的内容、查找的内容、修改的内容等,即调整表本身的内容,在此不再赘述。
下面以更新update语法的扩展过程为例进行说明:
ANTLR4语法解析工具按照语法定义自动生成更新列表visitUpdate Table(Update TableContext更新表上下文对象)方法;在SQLParser解析器中实现visitUpdateTable解析语法函数,并从更新表上下文对象UpdateTable Context中获取table、filter、更新列和值等相关信息,并返回构造好的逻辑计划Update TableCommand;SparkSQL执行框架将逻辑计划转化为物理计划,并调用运行run方法执行更新任务Update Task,UpdateTask利用数据源框架Data Source获取数据源的更新关系Update Relation,调用各个数据源连接器更新数据;构造AScanRDD(A浏览RDD,其中RDD可以用来表示数据集)扫描查询数据并更新列为指定值,写入数据源中,完成数据更新。
图7为本申请实施例提供的一种任务处理方法流程图,如图7所示,本申请实施例提供的任务处理方法的整体流程如下:
用户可以通过客户端输入SQL语句,服务器端可以通过统一的接口,从客户端接收通过不同访问接口,例如:CLI(command-line interface,命令行界面)、JDBC(JavaDataBase Connectivity,java数据库连接)和API(Application Programming Interface,应用程序编程接口)输入的SQL语句,并对SQL语句进行解析,得到语法树,进一步地,再进行语义解析,获取元数据管理库中存储的数据源的表,得到语义树;判断语义树中是否包含流式数据源类型,若语义树中包含流式数据源类型,分析语义树,将其转化为包含FlinkTable信息的逻辑树,启动Flink引擎,执行逻辑树中定义的运行(run)方法执行任务,任务执行过程中从相应的数据源中拉取数据;若语义树中不包含流式数据源类型,则将语义树进行优化,转换为物理执行计划,启动Spark引擎,将物理执行计划转换为action操作执行任务,同样的,在任务执行过程中从相应的数据源中拉取数据。
综上,本申请实施例提供的任务处理方法,包括:解析输入的结构化查询语言SQL语句,获取SQL语句对应的待执行任务,以及与待执行任务相关的目标数据源的属性信息;根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎;采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务。通过对不同的数据源类型,配置对应的计算引擎,在确定了目标数据源类型后,启动其对应的计算引擎进行数据处理,使得数据访问范围有效扩大,与现有的所有的数据源设置统一访问引擎相比,有效避免了数据访问受限的问题。另外,通过提供统一的元数据管理库,打通了各个数据源之间的连接,方便了各个数据源之间的联合分析,实现了异构数据源的互通。
图8为本申请实施例提供的一种任务处理装置的结构示意图,如图8所示,该装置包括:解析模块801、启动模块802、执行模块803。
解析模块801,用于解析输入的结构化查询语言SQL语句,获得SQL语句对应的待执行任务,以及与待执行任务相关的目标数据源的属性信息;
启动模块802,用于根据目标数据源的属性信息确定目标数据源的类型,并启动目标数据源的类型对应的目标引擎;
执行模块803,用于采用目标引擎从目标数据源中拉取数据,并根据拉取的数据执行待执行任务。
进一步地,目标数据源的属性信息,可以包括:目标数据源的标识、目标数据源对应的地址;
启动模块802,具体用于根据目标数据源的标识和/或目标数据源对应的地址确定目标数据源的类型。
进一步地,如图9所示,该装置还包括:创建模块804;
创建模块804,用于创建元数据管理库,元数据管理库包括:表的标识、各表对应的数据源的属性信息、以及各数据源的类型;
解析模块801,具体用于对SQL语句进行语义解析,获得可识别的待执行任务和所述待执行任务的表的标识;根据表的标识以及元数据管理库,查询得到与待执行任务相关的目标数据源的属性信息。
进一步地,上述启动模块802,具体用于根据目标数据源的标识和/或目标数据源对应的地址,判断目标数据源的类型是否为流式数据源类型;若是,则启动Flink引擎,若否,则启动Spark引擎。
进一步地,如图10所示,该装置还包括:转化模块805;
转化模块805,用于若启动Flink引擎,则将待执行任务转化为Flink引擎可识别任务信息;或者,若启动Spark引擎,则将待执行任务转化为Spark引擎可识别任务信息。
上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
图11为本申请实施例提供的另一种任务处理装置结构示意图,如图11示,该装置包括:处理器901和存储器902,其中:存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
该装置可以集成于终端或服务器等设备,本申请中不作限制。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种任务处理方法,其特征在于,包括:
解析输入的结构化查询语言SQL语句,获得所述SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息;
根据所述目标数据源的属性信息确定所述目标数据源的类型,并启动所述目标数据源的类型对应的目标引擎;
采用所述目标引擎从所述目标数据源中拉取数据,并根据拉取的所述数据执行所述待执行任务。
2.根据权利要求1所述的方法,其特征在于,所述目标数据源的属性信息,包括:所述目标数据源的标识和/或所述目标数据源对应的地址;
所述根据所述目标数据源的属性信息确定所述目标数据源的类型,包括:
根据所述目标数据源的标识和/或所述目标数据源对应的地址确定所述目标数据源的类型。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
创建元数据管理库,所述元数据管理库包括:表的标识、各表对应的数据源的属性信息、以及各数据源的类型;
所述解析输入的结构化查询语言SQL语句,获得所述SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息,包括:
对所述SQL语句进行语义解析,获得可识别的待执行任务和所述待执行任务的表的标识;
根据所述表的标识以及所述元数据管理库,查询得到与所述待执行任务相关的所述目标数据源的属性信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标数据源的属性信息确定所述目标数据源的类型,并启动所述目标数据源的类型对应的目标引擎,包括:
根据所述目标数据源的标识和/或所述目标数据源对应的地址,判断所述目标数据源的类型是否为流式数据源类型;
若是,则启动Flink引擎,若否,则启动Spark引擎。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标数据源对应的地址,采用所述目标引擎从所述目标数据源中拉取数据,并根据拉取的所述数据执行所述待执行任务之前,还包括:
若启动Flink引擎,则将所述待执行任务转化为所述Flink引擎可识别任务信息;或者,
若启动Spark引擎,则将所述待执行任务转化为Spark引擎可识别任务信息。
6.一种任务处理装置,其特征在于,包括:解析模块、启动模块、执行模块;
所述解析模块,用于解析输入的结构化查询语言SQL语句,获得所述SQL语句对应的待执行任务,以及与所述待执行任务相关的目标数据源的属性信息;
所述启动模块,用于根据所述目标数据源的属性信息确定所述目标数据源的类型,并启动所述目标数据源的类型对应的目标引擎;
所述执行模块,用于采用所述目标引擎从所述目标数据源中拉取数据,并根据拉取的所述数据执行所述待执行任务。
7.根据权利要求6所述的装置,其特征在于,所述目标数据源的属性信息,包括:所述目标数据源的标识和/或所述目标数据源对应的地址;
所述启动模块,具体用于根据所述目标数据源的标识和/或所述目标数据源对应的地址确定所述目标数据源的类型。
8.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:创建模块;
所述创建模块,创建元数据管理库,所述元数据管理库包括:表的标识、各表对应的数据源的属性信息、以及各数据源的类型;
所述解析模块,具体用于对所述SQL语句进行语义解析,获得可识别的待执行任务和所述待执行任务的表的标识;根据所述表的标识以及所述元数据管理库,查询得到与所述待执行任务相关的所述目标数据源的属性信息。
9.根据权利要求7所述的装置,其特征在于,所述启动模块,具体用于根据所述目标数据源的标识和/或所述目标数据源对应的地址,判断所述目标数据源的类型是否为流式数据源类型;若是,则启动Flink引擎,若否,则启动Spark引擎。
10.根据权利要求9所述的装置,其特征在于,还包括:转化模块;
所述转化模块,用于若启动Flink引擎,则将所述待执行任务转化为所述Flink引擎可识别任务信息;或者,若启动Spark引擎,则将所述待执行任务转化为Spark引擎可识别任务信息。
11.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至5任一所述的任务处理方法的步骤。
12.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一所述的任务处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910868292.3A CN110704479A (zh) | 2019-09-12 | 2019-09-12 | 任务处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910868292.3A CN110704479A (zh) | 2019-09-12 | 2019-09-12 | 任务处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110704479A true CN110704479A (zh) | 2020-01-17 |
Family
ID=69195347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910868292.3A Pending CN110704479A (zh) | 2019-09-12 | 2019-09-12 | 任务处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704479A (zh) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111596950A (zh) * | 2020-05-15 | 2020-08-28 | 博易智软(北京)技术有限公司 | 分布式数据开发引擎*** |
CN111639078A (zh) * | 2020-05-25 | 2020-09-08 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及可读存储介质 |
CN111640432A (zh) * | 2020-05-27 | 2020-09-08 | 北京声智科技有限公司 | 语音控制方法、装置、电子设备及存储介质 |
CN111666296A (zh) * | 2020-04-28 | 2020-09-15 | 中国平安财产保险股份有限公司 | 基于Flink的SQL数据实时处理方法、装置、计算机设备和介质 |
CN111767433A (zh) * | 2020-06-23 | 2020-10-13 | Oppo(重庆)智能科技有限公司 | 数据处理方法、装置、存储介质以及终端 |
CN111782682A (zh) * | 2020-06-30 | 2020-10-16 | 北京金山云网络技术有限公司 | 数据查询方法、装置、设备及存储介质 |
CN111782717A (zh) * | 2020-07-21 | 2020-10-16 | 政采云有限公司 | 一种数据处理方法、***及电子设备和存储介质 |
CN112000694A (zh) * | 2020-09-11 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种数据获取方法、装置、设备及介质 |
CN112035508A (zh) * | 2020-08-27 | 2020-12-04 | 深圳天源迪科信息技术股份有限公司 | 基于sql在线元数据解析的方法及***、设备 |
CN112115150A (zh) * | 2020-08-03 | 2020-12-22 | 上海金仕达软件科技有限公司 | 嵌入式内存数据库的数据管理方法、终端设备及介质 |
CN112181704A (zh) * | 2020-09-28 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
CN112214517A (zh) * | 2020-11-04 | 2021-01-12 | 微医云(杭州)控股有限公司 | 流数据处理方法及装置、电子设备、存储介质 |
CN112307122A (zh) * | 2020-10-30 | 2021-02-02 | 杭州海康威视数字技术股份有限公司 | 一种基于数据湖的数据管理***及方法 |
CN112328700A (zh) * | 2020-11-26 | 2021-02-05 | 北京海量数据技术股份有限公司 | 一种分布式数据库 |
CN112364025A (zh) * | 2020-11-30 | 2021-02-12 | 中国银行股份有限公司 | 数据处理的方法及装置、电子设备及计算机可读存储介质 |
CN112506888A (zh) * | 2020-12-29 | 2021-03-16 | 浪潮云信息技术股份公司 | 基于hdfs不同数据源的数据处理方法 |
CN112612514A (zh) * | 2020-12-31 | 2021-04-06 | 青岛海尔科技有限公司 | 程序开发方法和装置、存储介质及电子装置 |
CN112764721A (zh) * | 2021-01-15 | 2021-05-07 | 南京中兴力维软件有限公司 | 数据处理方法、装置、***及计算机可读存储介质 |
CN112948467A (zh) * | 2021-03-18 | 2021-06-11 | 北京中经惠众科技有限公司 | 数据处理方法及装置、计算机设备和存储介质 |
CN113032423A (zh) * | 2021-05-31 | 2021-06-25 | 北京谷数科技股份有限公司 | 基于多数据引擎动态装载的查询方法和*** |
CN113239081A (zh) * | 2021-05-21 | 2021-08-10 | 瀚云科技有限公司 | 一种流式数据计算方法 |
CN113312191A (zh) * | 2021-06-04 | 2021-08-27 | 西安未来国际信息股份有限公司 | 数据分析方法、装置、设备及存储介质 |
CN113377848A (zh) * | 2020-02-25 | 2021-09-10 | 北京数聚鑫云信息技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN113468204A (zh) * | 2021-06-28 | 2021-10-01 | 深信服科技股份有限公司 | 一种数据查询方法、装置、设备、介质 |
CN113504912A (zh) * | 2021-07-22 | 2021-10-15 | 浙江大华技术股份有限公司 | 实时任务的处理方法和装置、存储介质及电子装置 |
CN113672651A (zh) * | 2021-08-24 | 2021-11-19 | 杭州海康威视数字技术股份有限公司 | 一种任务执行方法、装置及电子设备 |
CN113886415A (zh) * | 2020-07-03 | 2022-01-04 | 中兴通讯股份有限公司 | 分布式存储过程的运行方法、电子设备及存储介质 |
CN114610746A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 一种多关系型数据引擎的sql合并执行***及方法 |
CN114756573A (zh) * | 2022-06-16 | 2022-07-15 | 恒生电子股份有限公司 | 数据处理方法、装置及*** |
CN115114333A (zh) * | 2022-06-23 | 2022-09-27 | 北京元年科技股份有限公司 | 多引擎可视化数据流实现方法、装置、设备及存储介质 |
CN115145992A (zh) * | 2022-09-05 | 2022-10-04 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
CN115757526A (zh) * | 2022-12-02 | 2023-03-07 | 广州市玄武无线科技股份有限公司 | 一种元数据的管理方法、装置、设备和计算机存储介质 |
CN116049190A (zh) * | 2023-01-18 | 2023-05-02 | 中电金信软件有限公司 | 基于Kafka的数据处理方法、装置、计算机设备和存储介质 |
CN116048817A (zh) * | 2023-03-29 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 数据处理控制方法、装置、计算机设备和存储介质 |
WO2023092981A1 (zh) * | 2021-11-24 | 2023-06-01 | 青岛海尔科技有限公司 | 流式数据处理方法、规则插件、流式数据处理模块及*** |
CN117648341A (zh) * | 2023-11-21 | 2024-03-05 | 上海金仕达卫宁软件科技有限公司 | 在有限资源基于磁盘内存快速组装数据的方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982075A (zh) * | 2012-10-30 | 2013-03-20 | 北京京东世纪贸易有限公司 | 支持访问异构数据源的***和方法 |
CN106649630A (zh) * | 2016-12-07 | 2017-05-10 | 乐视控股(北京)有限公司 | 数据查询方法及装置 |
US20190026335A1 (en) * | 2017-07-23 | 2019-01-24 | AtScale, Inc. | Query engine selection |
-
2019
- 2019-09-12 CN CN201910868292.3A patent/CN110704479A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982075A (zh) * | 2012-10-30 | 2013-03-20 | 北京京东世纪贸易有限公司 | 支持访问异构数据源的***和方法 |
CN106649630A (zh) * | 2016-12-07 | 2017-05-10 | 乐视控股(北京)有限公司 | 数据查询方法及装置 |
US20190026335A1 (en) * | 2017-07-23 | 2019-01-24 | AtScale, Inc. | Query engine selection |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377848A (zh) * | 2020-02-25 | 2021-09-10 | 北京数聚鑫云信息技术有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111666296A (zh) * | 2020-04-28 | 2020-09-15 | 中国平安财产保险股份有限公司 | 基于Flink的SQL数据实时处理方法、装置、计算机设备和介质 |
CN111596950A (zh) * | 2020-05-15 | 2020-08-28 | 博易智软(北京)技术有限公司 | 分布式数据开发引擎*** |
CN111639078A (zh) * | 2020-05-25 | 2020-09-08 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及可读存储介质 |
CN111640432A (zh) * | 2020-05-27 | 2020-09-08 | 北京声智科技有限公司 | 语音控制方法、装置、电子设备及存储介质 |
CN111640432B (zh) * | 2020-05-27 | 2023-09-15 | 北京声智科技有限公司 | 语音控制方法、装置、电子设备及存储介质 |
CN111767433A (zh) * | 2020-06-23 | 2020-10-13 | Oppo(重庆)智能科技有限公司 | 数据处理方法、装置、存储介质以及终端 |
CN111782682A (zh) * | 2020-06-30 | 2020-10-16 | 北京金山云网络技术有限公司 | 数据查询方法、装置、设备及存储介质 |
CN111782682B (zh) * | 2020-06-30 | 2024-01-02 | 北京金山云网络技术有限公司 | 数据查询方法、装置、设备及存储介质 |
CN113886415A (zh) * | 2020-07-03 | 2022-01-04 | 中兴通讯股份有限公司 | 分布式存储过程的运行方法、电子设备及存储介质 |
CN111782717A (zh) * | 2020-07-21 | 2020-10-16 | 政采云有限公司 | 一种数据处理方法、***及电子设备和存储介质 |
CN112115150B (zh) * | 2020-08-03 | 2024-03-19 | 上海金仕达软件科技股份有限公司 | 嵌入式内存数据库的数据管理方法、终端设备及介质 |
CN112115150A (zh) * | 2020-08-03 | 2020-12-22 | 上海金仕达软件科技有限公司 | 嵌入式内存数据库的数据管理方法、终端设备及介质 |
CN112035508A (zh) * | 2020-08-27 | 2020-12-04 | 深圳天源迪科信息技术股份有限公司 | 基于sql在线元数据解析的方法及***、设备 |
CN112000694B (zh) * | 2020-09-11 | 2024-04-26 | 支付宝(杭州)信息技术有限公司 | 一种数据获取方法、装置、设备及介质 |
CN112000694A (zh) * | 2020-09-11 | 2020-11-27 | 支付宝(杭州)信息技术有限公司 | 一种数据获取方法、装置、设备及介质 |
CN112181704A (zh) * | 2020-09-28 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
CN112307122B (zh) * | 2020-10-30 | 2023-06-02 | 杭州海康威视数字技术股份有限公司 | 一种基于数据湖的数据管理***及方法 |
CN112307122A (zh) * | 2020-10-30 | 2021-02-02 | 杭州海康威视数字技术股份有限公司 | 一种基于数据湖的数据管理***及方法 |
CN112214517A (zh) * | 2020-11-04 | 2021-01-12 | 微医云(杭州)控股有限公司 | 流数据处理方法及装置、电子设备、存储介质 |
CN112328700A (zh) * | 2020-11-26 | 2021-02-05 | 北京海量数据技术股份有限公司 | 一种分布式数据库 |
CN112364025B (zh) * | 2020-11-30 | 2023-09-22 | 中国银行股份有限公司 | 数据处理的方法及装置、电子设备及计算机可读存储介质 |
CN112364025A (zh) * | 2020-11-30 | 2021-02-12 | 中国银行股份有限公司 | 数据处理的方法及装置、电子设备及计算机可读存储介质 |
CN112506888A (zh) * | 2020-12-29 | 2021-03-16 | 浪潮云信息技术股份公司 | 基于hdfs不同数据源的数据处理方法 |
CN112612514B (zh) * | 2020-12-31 | 2023-11-28 | 青岛海尔科技有限公司 | 程序开发方法和装置、存储介质及电子装置 |
CN112612514A (zh) * | 2020-12-31 | 2021-04-06 | 青岛海尔科技有限公司 | 程序开发方法和装置、存储介质及电子装置 |
CN112764721A (zh) * | 2021-01-15 | 2021-05-07 | 南京中兴力维软件有限公司 | 数据处理方法、装置、***及计算机可读存储介质 |
CN112948467A (zh) * | 2021-03-18 | 2021-06-11 | 北京中经惠众科技有限公司 | 数据处理方法及装置、计算机设备和存储介质 |
CN112948467B (zh) * | 2021-03-18 | 2023-10-10 | 北京中经惠众科技有限公司 | 数据处理方法及装置、计算机设备和存储介质 |
CN113239081A (zh) * | 2021-05-21 | 2021-08-10 | 瀚云科技有限公司 | 一种流式数据计算方法 |
CN113032423B (zh) * | 2021-05-31 | 2021-08-17 | 北京谷数科技股份有限公司 | 基于多数据引擎动态装载的查询方法和*** |
CN113032423A (zh) * | 2021-05-31 | 2021-06-25 | 北京谷数科技股份有限公司 | 基于多数据引擎动态装载的查询方法和*** |
CN113312191A (zh) * | 2021-06-04 | 2021-08-27 | 西安未来国际信息股份有限公司 | 数据分析方法、装置、设备及存储介质 |
CN113468204A (zh) * | 2021-06-28 | 2021-10-01 | 深信服科技股份有限公司 | 一种数据查询方法、装置、设备、介质 |
CN113504912A (zh) * | 2021-07-22 | 2021-10-15 | 浙江大华技术股份有限公司 | 实时任务的处理方法和装置、存储介质及电子装置 |
CN113672651B (zh) * | 2021-08-24 | 2024-06-04 | 杭州海康威视数字技术股份有限公司 | 一种任务执行方法、装置及电子设备 |
CN113672651A (zh) * | 2021-08-24 | 2021-11-19 | 杭州海康威视数字技术股份有限公司 | 一种任务执行方法、装置及电子设备 |
WO2023092981A1 (zh) * | 2021-11-24 | 2023-06-01 | 青岛海尔科技有限公司 | 流式数据处理方法、规则插件、流式数据处理模块及*** |
CN114610746A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 一种多关系型数据引擎的sql合并执行***及方法 |
CN114756573A (zh) * | 2022-06-16 | 2022-07-15 | 恒生电子股份有限公司 | 数据处理方法、装置及*** |
CN114756573B (zh) * | 2022-06-16 | 2022-10-04 | 恒生电子股份有限公司 | 数据处理方法、装置及*** |
CN115114333A (zh) * | 2022-06-23 | 2022-09-27 | 北京元年科技股份有限公司 | 多引擎可视化数据流实现方法、装置、设备及存储介质 |
CN115145992A (zh) * | 2022-09-05 | 2022-10-04 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
CN115145992B (zh) * | 2022-09-05 | 2022-12-27 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
CN115757526A (zh) * | 2022-12-02 | 2023-03-07 | 广州市玄武无线科技股份有限公司 | 一种元数据的管理方法、装置、设备和计算机存储介质 |
CN115757526B (zh) * | 2022-12-02 | 2023-08-15 | 广州市玄武无线科技股份有限公司 | 一种元数据的管理方法、装置、设备和计算机存储介质 |
CN116049190A (zh) * | 2023-01-18 | 2023-05-02 | 中电金信软件有限公司 | 基于Kafka的数据处理方法、装置、计算机设备和存储介质 |
CN116049190B (zh) * | 2023-01-18 | 2024-07-23 | 中电金信软件有限公司 | 基于Kafka的数据处理方法、装置、计算机设备和存储介质 |
CN116048817B (zh) * | 2023-03-29 | 2023-06-27 | 腾讯科技(深圳)有限公司 | 数据处理控制方法、装置、计算机设备和存储介质 |
CN116048817A (zh) * | 2023-03-29 | 2023-05-02 | 腾讯科技(深圳)有限公司 | 数据处理控制方法、装置、计算机设备和存储介质 |
CN117648341A (zh) * | 2023-11-21 | 2024-03-05 | 上海金仕达卫宁软件科技有限公司 | 在有限资源基于磁盘内存快速组装数据的方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704479A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
EP3514694B1 (en) | Query translation | |
CN106980504B (zh) | 一种应用程序开发方法及其工具、设备 | |
JP6922538B2 (ja) | Api学習 | |
US8447744B2 (en) | Extensibility platform using data cartridges | |
US8959106B2 (en) | Class loading using java data cartridges | |
CN115016784B (zh) | 低代码应用复用方法、应用解析***、设备及存储介质 | |
WO2018045610A1 (zh) | 用于执行分布式计算任务的方法和装置 | |
US9996344B2 (en) | Customized runtime environment | |
WO2021259290A1 (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN112579151A (zh) | 一种模型文件的生成方法和装置 | |
US11681721B2 (en) | Systems and methods for spark lineage data capture | |
CN115495440A (zh) | 异构数据库的数据迁移方法、装置、设备及存储介质 | |
CN113468529B (zh) | 一种数据搜索方法和装置 | |
CN115525671A (zh) | 数据查询方法、装置、设备及存储介质 | |
US20150286725A1 (en) | Systems and/or methods for structuring big data based upon user-submitted data analyzing programs | |
CN113515285A (zh) | 生成实时计算逻辑数据的方法和装置 | |
CN107341021B (zh) | 大型复杂软件带约束逻辑属性的软件网络表示、存储与检索方法 | |
US20180232458A1 (en) | Storing parseable entity combinations | |
CN117349332B (zh) | 一种应用程序编程接口api的生成方法、装置和电子设备 | |
Reddy et al. | High performance computing cluster system and its future aspects in processing big data | |
CN112988778A (zh) | 一种处理数据库查询脚本的方法和装置 | |
Bhadauria et al. | Design and Implementation of HSQL: A SQL-like language for Data Analysis in Distributed Systems | |
Hagedorn et al. | LODHub—A platform for sharing and integrated processing of linked open data |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200117 |
|
RJ01 | Rejection of invention patent application after publication |