CN111782717A - 一种数据处理方法、系统及电子设备和存储介质 - Google Patents
一种数据处理方法、系统及电子设备和存储介质 Download PDFInfo
- Publication number
- CN111782717A CN111782717A CN202010704878.9A CN202010704878A CN111782717A CN 111782717 A CN111782717 A CN 111782717A CN 202010704878 A CN202010704878 A CN 202010704878A CN 111782717 A CN111782717 A CN 111782717A
- Authority
- CN
- China
- Prior art keywords
- environment
- service
- data
- etl
- type
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000013515 script Methods 0.000 claims abstract description 110
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 239000003999 initiator Substances 0.000 claims description 6
- 238000011161 development Methods 0.000 abstract description 7
- 238000002955 isolation Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/21—Design, administration or maintenance of databases
-
- 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/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、系统及一种电子设备和计算机可读存储介质,该方法包括:在执行ETL作业前,确定当前作业对应数据所属的业务环境,业务环境包括业务测试环境、业务预发环境和业务真线环境;基于业务环境,在ETL作业对应的第一类SQL脚本中添加对应的第一环境标识;利用改写后的脚本,根据第一环境标识在对应业务环境中的业务数据库中读取作业所需的业务数据;根据业务数据执行ETL作业,得到作业结果并写入作业对应的数据输出表中。本申请通过添加环境标识改写脚本,能够在不增加开发成本的基础上实现同一数仓集群中的逻辑隔离,可以在一个数仓集群中管理业务方不同环境的数据,且避免了人工遵守规范时存在的不确定性。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种数据处理方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
传统的数据平台中,若想要支持相同业务的不同环境数据,会采用多套数仓数据库来支持,如图1所示,或者需要数据开发人员做很多人工映射,或定一些规范来遵守。如果采用多套数仓数据库,则会增加运维和资源成本,且开发人员需要在不同环境上开发相同的脚本,造成了重复了工作。如果在一套数仓数据库中按照约定定义一些规范,用户是否遵守规范具有不确定性,不能保证准确性,且增加了工作量。
因此,如何解决上述问题是本领域技术人员需要重点关注的。
发明内容
本申请的目的在于提供一种数据处理方法、系统及一种电子设备和一种计算机可读存储介质,能够在不增加开发成本的基础上实现同一数仓集群中的逻辑隔离。
为实现上述目的,本申请提供了一种数据处理方法,包括:
在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;
基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;
利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;
根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。
可选的,所述基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,包括:
若所述业务环境为所述业务测试环境或所述业务预发环境,则将所述业务测试环境或所述业务预发环境的标识信息对应添加至所述ETL作业对应的第一类SQL脚本中;
若所述业务环境为所述业务真线环境,则禁止在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识。
可选的,所述根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中之后,还包括:
将所述数据输出表写入数据中心的数据仓库中;
根据所述第一环境标识,将所述数据输出表发送至对应业务环境的业务数据库中。
可选的,还包括:
通过数据中心的数据接口接收数据读取请求;
对所述数据读取请求进行解析,确定所述数据读取请求所需业务数据对应的业务环境;
基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,实现对所述第二类SQL脚本的改写;
利用改写后的第二类SQL脚本,在数据仓库中获取所述第二环境标识对应的业务数据并返回至所述数据读取请求的发起方。
可选的,所述基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识之前,还包括:
接收用户终端下发的配置指令,所述配置指令用于指定各种业务环境是否需要改写所述第一类SQL脚本;
相应的,所述基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,包括:
基于所述业务环境,根据所述配置指令确定是否需要改写所述第二类SQL脚本;
如果是,则允许执行所述在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识的步骤。
可选的,所述基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,包括:
若所述业务环境为所述业务真线环境,则跳过所述配置指令对应的配置信息,直接基于默认配置禁止在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识。
为实现上述目的,本申请提供了一种数据处理系统,包括:
第一确定模块,用于在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;
第一改写模块,用于基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;
数据读取模块,用于利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;
作业执行模块,用于根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。
可选的,还包括:
请求获取模块,用于通过数据中心的数据接口接收数据读取请求;
第二确定模块,用于对所述数据读取请求进行解析,确定所述数据读取请求所需业务数据对应的业务环境;
第二改写模块,用于基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,实现对所述第二类SQL脚本的改写;
数据返回模块,用于利用改写后的第二类SQL脚本,在数据仓库中获取所述第二环境标识对应的业务数据返回至所述数据读取请求的发起方。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现前述公开的任一种数据处理方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述公开的任一种数据处理方法的步骤。
通过以上方案可知,本申请提供的一种数据处理方法,包括:在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。由上可知,本申请在ETL作业执行时,可首先确定该作业数据对应的业务环境,并根据业务环境为SQL脚本添加对应的环境标识,进而可利用改写后的脚本读取对应环境的业务数据,以执行ETL作业得到作业结果,也即,通过添加环境标识改写SQL脚本,能够在不增加开发成本的基础上实现同一数仓集群中的逻辑隔离,可以在一个数仓集群中管理业务方不同环境的数据,且避免了人工遵守规范时存在的不确定性。
本申请还公开了一种数据处理系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统数据平台结构示意图;
图2为本申请实施例公开的一种数据处理方法的流程图;
图3为本申请实施例公开的一种具体的ETL作业的示意图;
图4为本申请实施例公开的数据处理方法的一种具体实施方式的流程图;
图5为本申请实施例公开的一种具体的数据接口的示意图;
图6为本申请实施例公开的一种具体的ETL作业的SQL脚本改写流程示意图;
图7为本申请实施例公开的一种具体的数据接口的SQL脚本改写流程示意图;
图8为本申请实施例公开的一种数据平台结构示意图;
图9为本申请实施例公开的一种数据处理系统的结构图;
图10为本申请实施例公开的一种电子设备的结构图;
图11为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在传统的数据平台中,若想要支持相同业务的不同环境数据,会采用多套数仓数据库来支持,或者需要数据开发人员做很多人工映射,或定一些规范来遵守。采用多套数仓数据库会增加运维和资源成本,而在一套数仓数据库中按照约定定义一些规范时,用户是否遵守规范具有不确定性,不能保证准确性,且增加了工作量。
因此,本申请实施例公开了一种数据处理方法,能够在不增加开发成本的基础上实现同一数仓集群中的逻辑隔离。
参见图2所示,本申请实施例公开的一种数据处理方法包括:
S101:在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;
ETL,即Extract-Transform-Load,用于描述将数据从来源端经过萃取、转置、加载至目的端的过程。在数据仓库系统中,最初的源端是公司业务系统的业务数据库,目的端是大数据仓库。在实践中ETL过程还会在大数据仓库系统内部进行多次,用来做数据清洗和数仓分层。执行某个ETL的计算过程叫做ETL作业,所有的ETL作业需要定时按照作业依赖关系进行调度,这整个过程称为ETL作业调度。
本申请实施例在执行ETL作业前,首先确定当前ETL作业所需数据对应的业务环境。具体地,上述业务环境可以包括但不限于业务测试环境、业务预发环境和业务真线环境。
S102:基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;
在本步骤中,可基于上述确定的业务环境对ETL作业对应的第一类SQL脚本进行改写。具体地,可以在ETL作业对应的第一类SQL脚本中添加当前业务环境对应的第一环境标识。
需要指出的是,本申请实施例预先将ETL作业定义为两部分内容,如图3所示,ETL作业包括一段SQL脚本和一个作业输出表。ETL作业在运行时会把这段SQL传入Spark应用执行模板,把SQL查询的结果集覆盖到作业输出表定义的表中。用户可以定义作业输出表名称和表结构,并发编写作业的SQL脚本。其中,SQL(Structured Query Language,结构化查询语言)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。上述SQL脚本主要可以指DQL(Data Query Language,数据查询语言)脚本。
在具体实施中,上述基于业务环境,在ETL作业对应的第一类SQL脚本中添加对应的第一环境标识的过程可以包括:若业务环境为业务测试环境或业务预发环境,则将业务测试环境或业务预发环境的标识信息对应添加至ETL作业对应的第一类SQL脚本中;若业务环境为业务真线环境,则禁止在ETL作业对应的第一类SQL脚本中添加对应的第一环境标识。也即,本申请实施例中针对业务真线环境将不进行SQL脚本的改写,以尽可能地降低出错概率。
S103:利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;
可以理解的是,在对第一类SQL脚本进行改写之后,即可利用改写后的脚本读取相应的业务数据,也即,改写后的脚本可根据环境标识访问对应业务环境中的业务数据库,以读取ETL作业所需的业务数据。
S104:根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。
在读取到需要的业务数据之后,即可根据上述业务数据执行ETL作业,得到对应的ETL作业结果,并可将作业结果写入当前ETL作业对应的数据输出表中。
作为一种具体的实施方式,本申请实施例在将ETL作业结果写入ETL作业对应的数据输出表中之后,还可以将数据输出表写入数据中心的数据仓库中进行保存。另外,还可根据第一环境标识,将数据输出表发送至对应业务环境的业务数据库中。
通过以上方案可知,本申请提供的一种数据处理方法,包括:在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。由上可知,本申请在ETL作业执行时,可首先确定该作业数据对应的业务环境,并根据业务环境为SQL脚本添加对应的环境标识,进而可利用改写后的脚本读取对应环境的业务数据,以执行ETL作业得到作业结果,也即,通过添加环境标识改写SQL脚本,能够在不增加开发成本的基础上实现同一数仓集群中的逻辑隔离,可以在一个数仓集群中管理业务方不同环境的数据,且避免了人工遵守规范时存在的不确定性。
在上述实施例的基础上,本申请实施例进一步公开了数据读取过程的具体实施方式。参见图4所示,具体的:
S201:通过数据中心的数据接口接收数据读取请求;
本申请实施例中,如图5所示,可以将系统的数据接口定义为一段SQL脚本,在数据接口执行时会将这段SQL脚本传入数据库执行SQL模板接口,接口可返回执行SQL的结果集。其中,上述SQL脚本主要可以指DQL(Data Query Language,数据查询语言)脚本。数据接口具体是指基于SQL查询的HTTP协议接口,可以通过编写程序,调用接口特定SQL到Presto等SQL执行引擎上执行获取数据实现。
在具体实施中,可通过数据中心的数据接口接收数据读取请求。具体地,数据读取请求可以为业务方通过前端页面或后端服务等发起的请求,还可以是在进行联调测试时需要读取不同业务环境数据时下发的数据读取请求。
S202:对所述数据读取请求进行解析,确定所述数据读取请求所需业务数据对应的业务环境;
S203:基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,实现对所述第二类SQL脚本的改写;
在本步骤中,可以根据上述确定的业务环境对数据接口对应的第二类SQL脚本进行改写,具体可在第二类SQL脚本中添加对应的第二环境标识。
在一种具体的实施方式中,本申请实施例在基于业务环境,在数据接口对应的第二类SQL脚本中添加对应的第二环境标识之前,还可以进一步接收用户终端下发的配置指令,所述配置指令用于指定各种业务环境是否需要改写第一类SQL脚本。也即,用户可以根据实际需求灵活地配置数据接口脚本是否可以改写。由此,在基于业务环境,在数据接口对应的第二类SQL脚本中添加对应的第二环境标识时,可首先根据配置指令确定是否需要改写第二类SQL脚本,如果需要,则允许执行后续的标识添加过程。
作为一种优选的实施方式,若当前业务环境为业务真线环境,则跳过配置指令对应的配置信息,直接基于默认配置禁止在第二类SQL脚本中添加对应的第二环境标识。也即,本申请实施例中针对业务真线环境将不进行SQL脚本的改写,以尽可能地降低出错概率。
S204:利用改写后的第二类SQL脚本,在数据仓库中获取所述第二环境标识对应的业务数据并返回至所述数据读取请求的发起方。
下面通过一种具体的示例对本申请实施例提供的数据处理方法进行说明。参见图6所示,本申请实施例中ETL作业的SQL脚本的改写流程可以具体包括:首先用户定义作业输出表名称,并编写作业SQL脚本,当作业执行时,按照业务环境改写SQL脚本和输出表,增加环境标识作为数据库前缀。参见图7所示,本申请实施例中数据接口的SQL脚本的改写流程可以具体包括:用户编写数据接口的SQL脚本,并配置数据接口在非真线环境下是否改写SQL,在执行数据接口时,将按照业务环境和用户的自定义配置决定是否改写SQL。
通过上述方式,本申请实施例中用户只需要开发维护一套脚本,SQL改写在ETL作业运行时进行,真线环境不进行改写,降低出错概率,其他业务环境将增加库前缀作为环境区别,实现了同一套数仓集群的逻辑隔离。进一步地,同一套物理集群可以扩展到任意数量的环境数据管理,而不增加用户维护脚本的数量。另外,在数据接口联调时用户可以方便的切换配置,来达到联调接口是返回真线数据还是其他环境数据的目的,从而满足不同业务场景需求。
进一步地,通过具体的实施场景对本申请实施例提供的数据处理方案与传统方案进行对比。在传统技术方案中,如果需要管理业务方两个环境的数据,则需要搭建和维护两个数据中心集群来完成,按照经验每增加一个环境,需要额外增加20%的资源占用,但是由于只有真线环境的数据才是真实有价值的,其他环境只是用来联调和日常开发迭代使用的,而且一般业务方至少需要开发、测试、预发三个非真线环境用来完成日常迭代工作,所以有60%的资源会浪费在非用户真实数据上。
假设非真线环境数量为Eo,真线环境数据需要消耗资源W,非真线环境资源占用资源为:非真线环境占用资源=W*20%*Eo。而数据接口配置、ETL作业配置和环境数量是成正比的,假设有A个接口,B个作业,Eo个非真线环境,那么非真线的配置为(A+B)*Eo套数据集群。假设有200个接口,500个作业,3个非真线环境,1个真线环境,真线环境数据消耗资源W,则非真线配置有(200+500)*3=2100套,加上真线环境配置,总配置为2800套,非真线环境占用资源0.6W,总资源占用1.6W。
而采用本申请实施例提供的数据处理方案时,如图8所示,由于采用单数据中心集中管理数据,按照经验每增加一个环境的数据,需要额外增加10%的资源占用。假设非真线环境数量为Eo,真线环境数据占用资源为W,本方案下非真线环境资源占用资源为:非真线环境占用资源=W*10%*Eo。由于所有环境相关的配置都是系统在运行时自动生成的,所以非真线环境配置为0套。假设有200个接口,500个作业,3个非真线环境,1个真线环境,真线环境数据消耗资源W,则非真线配置有0套,加上真线环境配置,总配置为700套,比传统方案节省75%的配置。非真线环境占用资源0.3W,总资源占用1.3W,比传统方案减少资源消耗18.8%,且减少资源消耗的比例会随着环境数量增加而增加。
下面对本申请实施例提供的一种数据处理系统进行介绍,下文描述的一种数据处理系统与上文描述的一种数据处理方法可以相互参照。
参见图9所示,本申请实施例提供的一种数据处理系统包括:
第一确定模块301,用于在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;
第一改写模块302,用于基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;
数据读取模块303,用于利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;
作业执行模块304,用于根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。
关于上述模块301至304的具体实施过程可参考前述实施例公开的相应内容,在此不再进行赘述。
在上述实施例的基础上,作为一种优选实施方式,本申请实施例提供的数据处理系统还可以进一步包括:
请求获取模块,用于通过数据中心的数据接口接收数据读取请求;
第二确定模块,用于对所述数据读取请求进行解析,确定所述数据读取请求所需业务数据对应的业务环境;
第二改写模块,用于基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,实现对所述第二类SQL脚本的改写;
数据返回模块,用于利用改写后的第二类SQL脚本,在数据仓库中获取所述第二环境标识对应的业务数据返回至所述数据读取请求的发起方。
本申请还提供了一种电子设备,参见图10所示,本申请实施例提供的一种电子设备包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述实施例所提供的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200在一些实施例中可以是一中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现前述任一实施例公开的数据处理方法的步骤。
在上述实施例的基础上,作为优选实施方式,参见图11所示,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200处理的数据以及用于显示可视化的用户界面。该显示单元400可以为LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。
图11仅示出了具有组件100-500的电子设备,本领域技术人员可以理解的是,图11示出的结构并不构成对电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述任一实施例公开的数据处理方法的步骤。
本申请在ETL作业执行时,可首先确定该作业数据对应的业务环境,并根据业务环境为SQL脚本添加对应的环境标识,进而可利用改写后的脚本读取对应环境的业务数据,以执行ETL作业得到作业结果,也即,通过添加环境标识改写SQL脚本,能够在不增加开发成本的基础上实现同一数仓集群中的逻辑隔离,可以在一个数仓集群中管理业务方不同环境的数据,且避免了人工遵守规范时存在的不确定性。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;
基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;
利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;
根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,包括:
若所述业务环境为所述业务测试环境或所述业务预发环境,则将所述业务测试环境或所述业务预发环境的标识信息对应添加至所述ETL作业对应的第一类SQL脚本中;
若所述业务环境为所述业务真线环境,则禁止在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识。
3.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中之后,还包括:
将所述数据输出表写入数据中心的数据仓库中;
根据所述第一环境标识,将所述数据输出表发送至对应业务环境的业务数据库中。
4.根据权利要求1至3任一项所述的数据处理方法,其特征在于,还包括:
通过数据中心的数据接口接收数据读取请求;
对所述数据读取请求进行解析,确定所述数据读取请求所需业务数据对应的业务环境;
基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,实现对所述第二类SQL脚本的改写;
利用改写后的第二类SQL脚本,在数据仓库中获取所述第二环境标识对应的业务数据并返回至所述数据读取请求的发起方。
5.根据权利要求4所述的数据处理方法,其特征在于,所述基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识之前,还包括:
接收用户终端下发的配置指令,所述配置指令用于指定各种业务环境是否需要改写所述第一类SQL脚本;
相应的,所述基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,包括:
基于所述业务环境,根据所述配置指令确定是否需要改写所述第二类SQL脚本;
如果是,则允许执行所述在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识的步骤。
6.根据权利要求5所述的数据处理方法,其特征在于,所述基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,包括:
若所述业务环境为所述业务真线环境,则跳过所述配置指令对应的配置信息,直接基于默认配置禁止在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识。
7.一种数据处理系统,其特征在于,包括:
第一确定模块,用于在执行ETL作业前,确定当前ETL作业对应数据所属的业务环境,所述业务环境包括业务测试环境、业务预发环境和业务真线环境;
第一改写模块,用于基于所述业务环境,在所述ETL作业对应的第一类SQL脚本中添加对应的第一环境标识,实现对所述第一类SQL脚本的改写;
数据读取模块,用于利用改写后的第一类SQL脚本,根据所述第一环境标识在对应业务环境中的业务数据库中读取所述ETL作业所需的业务数据;
作业执行模块,用于根据所述业务数据执行所述ETL作业,得到ETL作业结果并写入所述ETL作业对应的数据输出表中。
8.根据权利要求7所述的数据处理系统,其特征在于,还包括:
请求获取模块,用于通过数据中心的数据接口接收数据读取请求;
第二确定模块,用于对所述数据读取请求进行解析,确定所述数据读取请求所需业务数据对应的业务环境;
第二改写模块,用于基于所述业务环境,在所述数据接口对应的第二类SQL脚本中添加对应的第二环境标识,实现对所述第二类SQL脚本的改写;
数据返回模块,用于利用改写后的第二类SQL脚本,在数据仓库中获取所述第二环境标识对应的业务数据返回至所述数据读取请求的发起方。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704878.9A CN111782717A (zh) | 2020-07-21 | 2020-07-21 | 一种数据处理方法、系统及电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010704878.9A CN111782717A (zh) | 2020-07-21 | 2020-07-21 | 一种数据处理方法、系统及电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782717A true CN111782717A (zh) | 2020-10-16 |
Family
ID=72764674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010704878.9A Pending CN111782717A (zh) | 2020-07-21 | 2020-07-21 | 一种数据处理方法、系统及电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782717A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763094A (zh) * | 2020-11-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务信息处理方法、装置、服务器、介质和系统 |
CN114579202A (zh) * | 2022-03-03 | 2022-06-03 | 平安壹钱包电子商务有限公司 | 任务处理方法、装置、计算机设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170115964A1 (en) * | 2015-10-27 | 2017-04-27 | Oracle Financial Services Software Limited | Uniform interface specification for interacting with and executing models in a variety of runtime environments |
CN110365724A (zh) * | 2018-04-08 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 任务处理方法、装置及电子设备 |
CN110704479A (zh) * | 2019-09-12 | 2020-01-17 | 新华三大数据技术有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN110750584A (zh) * | 2019-09-18 | 2020-02-04 | 苏宁云计算有限公司 | 数据管理方法和系统 |
-
2020
- 2020-07-21 CN CN202010704878.9A patent/CN111782717A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170115964A1 (en) * | 2015-10-27 | 2017-04-27 | Oracle Financial Services Software Limited | Uniform interface specification for interacting with and executing models in a variety of runtime environments |
CN110365724A (zh) * | 2018-04-08 | 2019-10-22 | 腾讯科技(深圳)有限公司 | 任务处理方法、装置及电子设备 |
CN110704479A (zh) * | 2019-09-12 | 2020-01-17 | 新华三大数据技术有限公司 | 任务处理方法、装置、电子设备及存储介质 |
CN110750584A (zh) * | 2019-09-18 | 2020-02-04 | 苏宁云计算有限公司 | 数据管理方法和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113763094A (zh) * | 2020-11-23 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务信息处理方法、装置、服务器、介质和系统 |
CN113763094B (zh) * | 2020-11-23 | 2024-09-20 | 北京沃东天骏信息技术有限公司 | 一种业务信息处理方法、装置、服务器、介质和系统 |
CN114579202A (zh) * | 2022-03-03 | 2022-06-03 | 平安壹钱包电子商务有限公司 | 任务处理方法、装置、计算机设备及计算机可读存储介质 |
CN114579202B (zh) * | 2022-03-03 | 2024-07-02 | 平安壹钱包电子商务有限公司 | 任务处理方法、装置、计算机设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818112B (zh) | 一种大数据分析作业系统及任务提交方法 | |
US8776066B2 (en) | Managing task execution on accelerators | |
CN111459671B (zh) | 一种数据处理方法、装置及数据交换服务器和存储介质 | |
CN111797157B (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
EP2763055B1 (en) | A telecommunication method and mobile telecommunication device for providing data to a mobile application | |
CN111737221B (zh) | 集群文件系统的数据读写方法、装置及设备和存储介质 | |
CN111857663B (zh) | 一种软件设计方法、系统及电子设备和存储介质 | |
CN112269659A (zh) | 一种资源管理方法、系统及电子设备和存储介质 | |
CN113032105B (zh) | 一种Kubernetes集群访问控制方法、系统及相关设备 | |
CN111782717A (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
US11500828B1 (en) | Method and device for constructing database model with ID-based data indexing-enabled data accessing | |
CN112052082A (zh) | 任务属性优化方法、装置、服务器及存储介质 | |
CN111008106B (zh) | 一种服务器监控管理方法、装置及电子设备和存储介质 | |
CN114443680A (zh) | 数据库管理系统、相关装置、方法和介质 | |
JP2015506519A (ja) | ユーザ生成によるデータセンターの省電力 | |
CN112000646B (zh) | 一种数据库初始化方法、装置及电子设备和存储介质 | |
CN111414422B (zh) | 一种数据分布方法、装置、设备和存储介质 | |
CN112069189A (zh) | 多层级映射表格的更新方法、系统、终端设备及存储介质 | |
CN116893854A (zh) | 指令资源的冲突检测方法、装置、设备及存储介质 | |
CN112346949A (zh) | 基于aop的操作日志记录方法、系统及电子设备和介质 | |
CN110960858B (zh) | 一种游戏资源的处理方法、装置、设备及存储介质 | |
US9489246B2 (en) | Method and device for determining parallelism of tasks of a program | |
CN111752682A (zh) | 一种网络端口资源管理方法、装置及电子设备和存储介质 | |
CN110019113B (zh) | 一种数据库的业务处理方法及数据库服务器 | |
CN111782834A (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 |