CN112732819A - 基于etl的数据处理方法、装置、设备和存储介质 - Google Patents
基于etl的数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112732819A CN112732819A CN202110082668.5A CN202110082668A CN112732819A CN 112732819 A CN112732819 A CN 112732819A CN 202110082668 A CN202110082668 A CN 202110082668A CN 112732819 A CN112732819 A CN 112732819A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- data table
- etl
- source
- 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/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/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (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配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务,同时对源数据和待处理数据表集合执行ETL任务,得到目标数据表,其中,更新信息用于指示源数据是否发生更新;使得当源数据发生更新的同时,可以自动根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务,并立即对源数据和待处理数据表集合执行ETL任务,得到目标数据表,无需等到预设时刻再去执行ETL任务,提高了执行ETL任务的时效性。
Description
技术领域
本申请涉及大数据技术领域,特别涉及一种基于ETL的数据处理方法、装置、设备和存储介质。
背景技术
随着大数据技术的不断发展,各种应用产生的数据量急剧增加。面对大量产生的数据,通常会采用数据仓库来管理上述数据。ETL为英文Extract-Transform-Load的缩写,是指将数据进行抽取(Extract)、转换(Transform)、装载(Load)处理的过程,是构建数据仓库的重要环节。
在实现ETL的过程中,通常将各种应用产生的源数据通过抽取、转换处理得到对应的目标数据表,并将目标数据表存储在对应的目标数据库中。其中,将源数据通过抽取、转换处理得到对应的数据之后,通常还会再次对处理后的数据进行抽取、转换处理,得到更新后的数据,重复多次,最终得到目标数据表,进而将目标数据表存储至对应的目标数据库中。另一方面,可以对源数据进行不同的抽取、转换处理,得到多个目标数据表,并将各目标数据表存储在其对应的目标数据库中。传统方法中,在对源数据进行抽取、转换处理时,通常在预先设定好的时刻去执行对源数据进行抽取、转换处理。例如,在t时刻对源数据A进行抽取、转换处理之后,得到数据B,间隔预设间隔时长后到达t+t0时刻时,再对数据B进行抽取、转换处理,得到数据C,重复多次,得到目标数据表X。
然而,按照预先设定好的时刻去执行源数据进行抽取、转换处理,若预设间隔时长过短,容易导致服务器并行任务过多,占用过多资源;若预设间隔时长过长,容易导致数据流通的时效性差。
发明内容
本申请提供一种基于ETL的数据处理方法、装置、设备和存储介质,能够提高数据流通的时效性。
第一方面,本申请实施例提供一种基于ETL的数据处理方法,该方法包括:
获取源数据的更新信息;更新信息用于指示源数据是否发生更新;
当更新信息指示源数据发生更新时,根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务;
对源数据和待处理数据表集合执行ETL任务,得到目标数据表。
在一个实施例中,上述对源数据和待处理数据表集合执行ETL任务,得到目标数据表,包括:
获取待处理数据表集合中各待处理数据表的执行顺序;
按照执行顺序,对源数据与待处理数据表集合中第一个待处理数据表执行ETL任务,得到中间数据表;并对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。
在一个实施例中,上述按照执行顺序,对源数据与待处理数据表集合中第一个待处理数据表执行ETL任务,得到中间数据表;并对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表,包括:
在执行完成上一个待处理数据表的ETL任务,得到中间数据表时,立即对下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。
在一个实施例中,上述待处理数据表集合为多个,上述对源数据和待处理数据表集合执行ETL任务,得到目标数据表,包括:
根据预设的ETL配置信息获取各待处理数据表集合的优先级;
根据各待处理数据表集合的优先级、源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表。
在一个实施例中,上述根据各待处理数据表集合的优先级、源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表,包括:
若各待处理数据表集合的优先级一致,则同时对源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表;
若各待处理数据表集合的优先级不一致,则按照各待处理数据表集合的优先级,依次对源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表。
在一个实施例中,上述得到各待处理数据表集合对应的目标数据表之后,该方法还包括:
根据数据和数据库的对应关系,确定目标数据表对应的目标数据库;
将目标数据表存储至对应的目标数据库中。
在一个实施例中,上述源数据包括数据库数据和/或静态数据;静态数据为外部设备输入数据库中的数据;上述获取源数据的更新信息,包括:
对于数据库数据,通过触发器获取源数据的更新信息;
对于静态数据;通过预设扫描程序扫描源数据,获取源数据的更新信息。
第二方面,一种基于ETL的数据处理装置,该装置包括:
获取模块,用于获取源数据的更新信息;更新信息用于指示源数据是否发生更新;
确定模块,用于当更新信息指示源数据发生更新时,根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务;
执行模块,用于对源数据和待处理数据表集合执行ETL任务,得到目标数据表。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
上述基于ETL的数据处理方法、装置、设备和存储介质,通过获取源数据的更新信息,并当更新信息指示源数据发生更新时,根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务,同时对源数据和待处理数据表集合执行ETL任务,得到目标数据表,其中,更新信息用于指示源数据是否发生更新;使得当源数据发生更新的同时,可以自动根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务,并立即对源数据和待处理数据表集合执行ETL任务,得到目标数据表,无需等到预设时刻再去执行ETL任务,提高了执行ETL任务的时效性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一个实施例中基于ETL的数据处理方法的流程示意图;
图2为本申请另一个实施例中基于ETL的数据处理方法的流程示意图;
图3为本申请另一个实施例中基于ETL的数据处理方法的流程示意图;
图4为本申请另一个实施例中基于ETL的数据处理方法的流程示意图;
图5为本申请一个实施例中提供的基于ETL的数据处理装置的结构示意图;
图6为本申请一个实施例中电子设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请实施例中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
需要说明的是,下述方法实施例的执行主体也可以是基于ETL的数据处理装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为上述电子设备的部分或者全部。下述方法实施例以执行主体为电子设备为例进行说明。
图1为本申请一个实施例提供的基于ETL的数据处理方法的流程示意图。本实施例涉及的是如何提高执行ETL任务的时效性的具体过程。如图1所示,该方法包括以下步骤:
S101、获取源数据的更新信息;更新信息用于指示源数据是否发生更新。
源数据可以是数据库前端的各种应用程序生成的数据,其中,数据库可以用于存储ETL任务得到的数据。例如,源数据可以是数据库前端的收支程序生成的银行流水数据。通常,源数据在数据库以数据表的形式存储。当数据库前端的应用程序生成的数据发生变化时,通常会同步更新已经存储在数据库的源数据的数据表。数据库可以通过检测数据库前端的各种应用程序向数据库传输数据,来获取源数据的更新信息。其中更新信息用于指示该源数据是否发生更新。
S102、当更新信息指示源数据发生更新时,根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务。
待处理数据表集合中可以包括一个待处理数据表,也可以包括多个待处理数据表,本申请实施例对此不做限制。待执行的ETL任务可以指示该源数据与待处理数据表集合中的待处理数据表之间所需执行的处理类型。其中,预设的ETL配置信息中包括源数据和待处理数据表集合之间的对应关系,以及,源数据和待执行的ETL任务之间的对应关系。当数据库检测到的更新信息指示源数据发生更新的时刻,可以调用该源数据对应的预设的ETL配置信息中,确定该源数据对应的待处理数据表集合,及,该源数据的待执行ETL任务。需要说明的是,本申请实施例是在更新信息指示源数据发生更新的同时即可根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务。也即是说,源数据发生更新能够自动触发根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务。
S103、对源数据和待处理数据表集合执行ETL任务,得到目标数据表。
在上述S102的基础上,当确定了源数据对应的待处理数据表集合和待执行的ETL任务时,可以对源数据和待处理数据表集合执行对应的ETL任务,得到目标数据表。其中,目标数据表可以存储在数据库,在接收到用户输入的指令时,展示给用户。需要说明的是,在确定了源数据对应的待处理数据表集合和待执行的ETL任务时,可以立即对源数据和待处理数据表集合执行对应的ETL任务,得到目标数据表。
上述基于ETL的数据处理方法,通过获取源数据的更新信息,并当更新信息指示源数据发生更新时,根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务,同时对源数据和待处理数据表集合执行ETL任务,得到目标数据表,其中,更新信息用于指示源数据是否发生更新;使得当源数据发生更新的同时,可以自动根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务,并立即对源数据和待处理数据表集合执行ETL任务,得到目标数据表,无需等到预设时刻再去执行ETL任务,提高了执行ETL任务的时效性。
待处理数据表集合中可以包括一个待处理数据表,也可以包括多个待处理数据表。当待处理数据表集合中只包括有一个待处理数据表时,可以直接对源数据与该待处理数据表执行ETL任务,得到目标数据表。在一种可能的情况下,当待处理数据表集合中包括多个待处理数据表时,可以先确定各待处理数据表的执行顺序,进而根据各待处理数据表的执行顺序执行对应的ETL任务,得到目标数据表。下面通过图2所示实施例来详细说明。
图2为另一个实施例提供的基于ETL的数据处理方法的流程示意图,该实施例涉及的是如何对源数据和待处理数据表集合执行ETL任务,得到目标数据表的具体过程。如图2所示,上述S103“对源数据和待处理数据表集合执行ETL任务,得到目标数据表”一种可能的实现方法包括:
S201、获取待处理数据表集合中各待处理数据表的执行顺序。
当待处理数据表集合中包括多个待处理数据表时,在对源数据和待处理数据表集合执行ETL任务时,是按照待处理数据表集合中各待处理数据表的执行顺序进行的。可以通过待处理数据表集合中各待处理数据表的位置信息确定上述执行顺序,也可以通过待处理数据表集合中各待处理数据表存储的信息确定上述执行顺序,还可以从预设的ETL配置信息中确定上述执行顺序,本申请实施例对此不作限制。
例如,可以获取待处理数据表集合中各待处理数据表在数据库的存储地址,并按照存储地址从小到大的顺序对各待处理数据表进行排序,得到上述执行顺序。还可以将存储的信息类型为时间信息的待处理数据表的执行顺序设置为1,将存储的信息类型为金额的待处理数据表的执行顺序设置为2。需要说明的是,各待处理数据表的执行顺序可以是相同的。例如,当待处理数据表集合中包括5个待处理数据表时,待处理数据表1和待处理数据表5的执行顺序均为3。
S202、按照执行顺序,对源数据与待处理数据表集合中第一个待处理数据表执行ETL任务,得到中间数据表;并对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。
对源数据与待处理数据表集合执行ETL任务时,可以是按照执行顺序,先对源数据与待处理数据表集合中第一个待处理数据表执行ETL任务,得到中间数据表,然后再对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务,得到更新后的中间数据表……直至最后一个待处理数据表,得到目标数据表。其中,当对源数据与待处理数据表集合中第一个待处理数据表执行完成ETL任务时,可以在间隔预设时长,再开始对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务;也可以立即对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务;本申请实施例对此不作限制。
在一种可能的情况下,可选的,上述S202“按照执行顺序,对源数据与待处理数据表集合中第一个待处理数据表执行ETL任务,得到中间数据表;并对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表”一种可能的实现方法包括:在执行完成上一个待处理数据表的ETL任务,得到中间数据表时,立即对下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。也即是说,执行完成上一个待处理数据表的ETL任务,得到中间数据表,即可触发下一个待处理数据表与中间数据表执行ETL任务。
上述基于ETL任务的数据处理方法,在执行完成上一个待处理数据表的ETL任务,得到中间数据表时,立即对下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。也即是说,对上一个待处理数据表执行ETL任务得到中间数据表,可以主动触发对下一个待处理数据表与中间数据表执行ETL任务,无需等到预设时刻再去执行下一个待处理数据表的ETL任务,进一步地提高了执行ETL任务的时效性。
待处理数据表集合可以是一个,也可以是多个,本申请实施例对此不作限制。当待处理数据表集合为一个时,可以按照图2所示实施例来对该待处理数据表集合中的各待处理数据表进行处理,得到目标数据表。当待处理数据表集合为多个时,还可以先确定各待处理数据表集合的优先级,进而根据各待处理数据表集合的优先级来获取目标数据表。
图3为另一个实施例提供的基于ETL的数据处理方法的流程示意图,该实施例涉及的是当待处理数据表集合为多个时,如何得到目标数据表的具体过程。如图3所示,上述S103“待处理数据表集合为多个,上述对源数据和待处理数据表集合执行ETL任务,得到目标数据表”一种可能的实现方法包括:
S301、根据预设的ETL配置信息获取各待处理数据表集合的优先级。
在一种可能的情况,当待处理数据表集合为多个时,上述预设的ETL配置信息中还包括各待处理数据表集合的优先级,需要说明的是,各待处理数据表集合的优先级可以是一致的,也可以是不一致的,本申请实施例对此不作限制。
S302、根据各待处理数据表集合的优先级、源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表。
在具体的根据各待处理数据表集合的优先级、源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表时,可选的,若各待处理数据表集合的优先级一致,则同时对源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表;若各待处理数据表集合的优先级不一致,则按照各待处理数据表集合的优先级,依次对源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表。
上述实施例重点描述了如何执行ETL任务得到目标数据表的具体过程,在得到目标数据表之后,通常会将目标数据表存储值对应的数据库中,下面通过图4所示实施例来详细说明。
图4为另一个实施例提供的基于ETL的数据处理方法的流程示意图,该实施例涉及的是如何存储目标数据表的具体过程,如图4所示,上述S103“得到各待处理数据表集合对应的目标数据表”之后,该方法还包括:
S401、根据数据和数据库的对应关系,确定目标数据表对应的目标数据库。
在上述实施例的基础上,当得到了目标数据表时,还需要确定该目标数据表对应的存储区域,即目标数据库,将该目标数据表存储在对应的目标数据库中。通过上述实施例得到的目标数据表可以是一个,也可以是多个,本申请实施例对此不作限制。本申请实施例中,目标数据表与目标数据库之间可以是一一对应的,也可以是多个目标数据表对应一个目标数据库,本申请实施例对此不作限制。
S402、将目标数据表存储至对应的目标数据库中。
在一个实施例中,上述源数据可以包括数据库数据和/或静态数据;静态数据为外部设备输入数据库中的数据。上述S101“获取源数据的更新信息”一种可能的实现方法包括:对于数据库数据,通过触发器获取源数据的更新信息;对于静态数据,通过预设扫描程序扫描源数据,获取源数据的更新信息。
其中,静态数据可以是外部设备通过输入数据库的数据,该外部设备可以能够直接获取源数据的设备。例如,外部设备可以是自动柜员机(Automatic Teller Machine,ATM),当用户通过ATM进行存储现金或者提取现金的操作,导致该用户的账户信息发生变化,通过ATM机将变化的账户信息发送各数据库中,此时该变化的账户信息即为静态数据。可以通过预设的扫描程序扫描该静态数据,当静态数据发生新增或删除时,确定该源数据发生了更新。数据库数据可以是数据库前端的各种应用程序生成的数据,例如,可以通过c#、java、python等解析程序将txt、excel、api等类型的数据解析,得到源数据。当通过上述解析程序解析数据时,会将写入数据库中的某张数据表的最大更新时间或最大自增序列值更新,可以通过触发器主动触发写入更新信息,确定该数据库数据是否发生了更新。在一种可能的情况,源数据还可以是数据库中存储的数据表,则通过定时扫描数据库中存储的数据表,获取源数据的更新信息。
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图5为本申请一个实施例中基于ETL的数据处理装置的结构示意图,如图5所示,该基于ETL的数据处理装置包括:获取模块10、确定模块20和执行模块30,其中:
获取模块10,用于获取源数据的更新信息;更新信息用于指示源数据是否发生更新;
确定模块20,用于当更新信息指示源数据发生更新时,根据预设的ETL配置信息确定源数据对应的待处理数据表集合和待执行的ETL任务;
执行模块30,用于对源数据和待处理数据表集合执行ETL任务,得到目标数据表。
在一个实施例中,上述执行模块30包括获取单元301和执行单元302,其中:
获取单元301,用于获取待处理数据表集合中各待处理数据表的执行顺序;
执行单元302,用于按照执行顺序,对源数据与待处理数据表集合中第一个待处理数据表执行ETL任务,得到中间数据表;并对待处理数据表集合中下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。
在一个实施例中,执行单元302,具体用于在执行完成上一个待处理数据表的ETL任务,得到中间数据表时,立即对下一个待处理数据表与中间数据表执行ETL任务,直至最后一个待处理数据表,得到目标数据表。
在一个实施例中,上述待处理数据表集合为多个,获取单元301还用于根据预设的ETL配置信息获取各待处理数据表集合的优先级;
执行单元302还用于根据各待处理数据表集合的优先级、源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表。
在一个实施例中,执行单元302具体用于若各待处理数据表集合的优先级一致,则同时对源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表;若各待处理数据表集合的优先级不一致,则按照各待处理数据表集合的优先级,依次对源数据和各待处理数据表集合执行ETL任务,得到各待处理数据表集合分别对应的目标数据表。
在一个实施例中,基于ETL的数据处理装置还包括存储模块40,其中:
存储模块40具体用于根据数据和数据库的对应关系,确定目标数据表对应的目标数据库;将目标数据表存储至对应的目标数据库中。
在一个实施例中,获取模块10具体用于对于数据库数据,通过触发器获取源数据的更新信息;对于静态数据;通过预设扫描程序扫描源数据,获取源数据的更新信息。
本申请实施例提供的基于ETL的数据处理装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于一种基于ETL的数据处理装置的具体限定可以参见上文中对基于ETL的数据处理方法的限定,在此不再赘述。上述基于ETL的数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于电子设备中的处理器中,也可以以软件形式存储于电子设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电子设备,其内部结构图可以如图6所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于ETL的数据处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当清楚的是,本申请实施例中处理器执行计算机程序的过程,与上述方法中各个步骤的执行过程一致,具体可参见上文中的描述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时可以实现本申请上述方法实施例提供的基于ETL的数据处理方法。
应当清楚的是,本申请实施例中处理器执行计算机程序的过程,与上述方法中各个步骤的执行过程一致,具体可参见上文中的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于ETL的数据处理方法,其特征在于,包括:
获取源数据的更新信息;所述更新信息用于指示所述源数据是否发生更新;
当所述更新信息指示所述源数据发生更新时,根据预设的ETL配置信息确定所述源数据对应的待处理数据表集合和待执行的ETL任务;
对所述源数据和所述待处理数据表集合执行所述ETL任务,得到目标数据表。
2.根据权利要求1所述的方法,其特征在于,所述对所述源数据和所述待处理数据表集合执行所述ETL任务,得到目标数据表,包括:
获取所述待处理数据表集合中各待处理数据表的执行顺序;
按照所述执行顺序,对所述源数据与所述待处理数据表集合中第一个待处理数据表执行所述ETL任务,得到中间数据表;并对所述待处理数据表集合中下一个待处理数据表与所述中间数据表执行所述ETL任务,直至最后一个待处理数据表,得到所述目标数据表。
3.根据权利要求2所述的方法,其特征在于,所述按照所述执行顺序,对所述源数据与所述待处理数据表集合中第一个待处理数据表执行所述ETL任务,得到中间数据表;并对所述待处理数据表集合中下一个待处理数据表与所述中间数据表执行所述ETL任务,直至最后一个待处理数据表,得到所述目标数据表,包括:
在执行完成上一个待处理数据表的ETL任务,得到所述中间数据表时,立即对下一个待处理数据表与所述中间数据表执行所述ETL任务,直至最后一个待处理数据表,得到所述目标数据表。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述待处理数据表集合为多个,所述对所述源数据和所述待处理数据表集合执行所述ETL任务,得到目标数据表,包括:
根据所述预设的ETL配置信息获取各所述待处理数据表集合的优先级;
根据各所述待处理数据表集合的优先级、所述源数据和各待处理数据表集合执行所述ETL任务,得到各待处理数据表集合分别对应的目标数据表。
5.根据权利要求4所述的方法,其特征在于,所述根据各所述待处理数据表集合的优先级、所述源数据和各待处理数据表集合执行所述ETL任务,得到各待处理数据表集合分别对应的目标数据表,包括:
若各所述待处理数据表集合的优先级一致,则同时对所述源数据和各待处理数据表集合执行所述ETL任务,得到各所述待处理数据表集合分别对应的目标数据表;
若各所述待处理数据表集合的优先级不一致,则按照各所述待处理数据表集合的优先级,依次对所述源数据和各待处理数据表集合执行所述ETL任务,得到各所述待处理数据表集合分别对应的目标数据表。
6.根据权利要求1-3或5任一项所述的方法,其特征在于,所述得到各所述待处理数据表集合对应的目标数据表之后,所述方法还包括:
根据数据和数据库的对应关系,确定所述目标数据表对应的目标数据库;
将所述目标数据表存储至所述对应的目标数据库中。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述源数据包括数据库数据和/或静态数据;所述静态数据为外部设备输入数据库中的数据;所述获取源数据的更新信息,包括:
对于所述数据库数据,通过触发器获取所述源数据的更新信息;
对于所述静态数据;通过预设扫描程序扫描所述源数据,获取所述源数据的更新信息。
8.一种基于ETL的数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取源数据的更新信息;所述更新信息用于指示所述源数据是否发生更新;
确定模块,用于当所述更新信息指示所述源数据发生更新时,根据预设的ETL配置信息确定所述源数据对应的待处理数据表集合和待执行的ETL任务;
执行模块,用于对所述源数据和所述待处理数据表集合执行所述ETL任务,得到目标数据表。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082668.5A CN112732819A (zh) | 2021-01-21 | 2021-01-21 | 基于etl的数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110082668.5A CN112732819A (zh) | 2021-01-21 | 2021-01-21 | 基于etl的数据处理方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112732819A true CN112732819A (zh) | 2021-04-30 |
Family
ID=75594723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110082668.5A Pending CN112732819A (zh) | 2021-01-21 | 2021-01-21 | 基于etl的数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732819A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145992A (zh) * | 2022-09-05 | 2022-10-04 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
-
2021
- 2021-01-21 CN CN202110082668.5A patent/CN112732819A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115145992A (zh) * | 2022-09-05 | 2022-10-04 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
CN115145992B (zh) * | 2022-09-05 | 2022-12-27 | 深圳市明源云科技有限公司 | 多源数据处理方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111506498B (zh) | 测试用例的自动生成方法、装置、计算机设备及存储介质 | |
CN109446173B (zh) | 日志数据处理方法、装置、计算机设备和存储介质 | |
CN109189799B (zh) | 业务数据查询方法、装置、计算机设备及存储介质 | |
CN109710402A (zh) | 处理资源获取请求的方法、装置、计算机设备和存储介质 | |
CN109447411A (zh) | 业务流程控制方法、装置、计算机设备和存储介质 | |
CN110795171B (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN112286934A (zh) | 数据库表导入方法、装置、设备及介质 | |
CN111190609B (zh) | 业务的处理方法、装置、设备和存储介质 | |
CN111191079A (zh) | 一种文档内容获取方法、装置、设备及存储介质 | |
CN110109712A (zh) | 业务组件加载方法、装置、计算机设备和存储介质 | |
CN112750027A (zh) | 批量业务处理方法、装置、计算机设备和存储介质 | |
CN111190727A (zh) | 内存的异步析构方法、装置、计算机设备及存储介质 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN110457401B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN110275703B (zh) | 键值对数据的赋值方法、装置、计算机设备和存储介质 | |
CN111260253A (zh) | 信息发送方法、装置、计算机设备及存储介质 | |
CN112732819A (zh) | 基于etl的数据处理方法、装置、设备和存储介质 | |
CN109656474B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN111901383B (zh) | 数据请求处理方法、装置、计算机设备和存储介质 | |
CN111046240B (zh) | 网关流量统计方法、装置、计算机设备和存储介质 | |
CN110049535B (zh) | 网络搜索方法、装置、设备和存储介质 | |
CN109634955B (zh) | 数据存储方法、数据检索方法和装置 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN114218188A (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN109284260B (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 |