CN113886478A - 应用于etl的数据处理方法和装置及电子设备 - Google Patents
应用于etl的数据处理方法和装置及电子设备 Download PDFInfo
- Publication number
- CN113886478A CN113886478A CN202111165389.1A CN202111165389A CN113886478A CN 113886478 A CN113886478 A CN 113886478A CN 202111165389 A CN202111165389 A CN 202111165389A CN 113886478 A CN113886478 A CN 113886478A
- Authority
- CN
- China
- Prior art keywords
- data
- layer
- std
- new table
- dwd
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 239000000284 extract Substances 0.000 title description 4
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000011161 development Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 19
- 238000013075 data extraction Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- 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/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- 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的数据处理方法和装置及电子设备。包括:对ODS层的新表中数据执行数据治理,生成STD层的新表;将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;对所述STD层的新表中数据执行数据开发,生成DWD层的新表;将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
Description
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种应用于ETL的数据处理方法和装置及电子设备。
背景技术
ETL(Extract-Transform-Load)是一种集合了数据抽取(extract)、数据转换(transform)和数据加载(load)的技术。
在采用ETL技术的大数据项目中,通常包含以下几个数据处理阶段:
1、数据接入阶段,用于通过ETL的数据抽取技术,将数据从前置库中抽取到综合库。其中,所述前置库是原始数据所在的数据库,所述综合库是大数据平台的数据库。
2、数据开发阶段,用于通过ETL的数据转换技术,对抽取到综合库中的数据进行处理。所述处理可以包括例如数据清洗、数据融合等数据治理方式。
3、数据推送阶段,用于通过ETL的数据加载技术,将数据转换后综合库中的待加载数据同步到服务库。
4、数据服务阶段,用于通过ETL的数据传输技术,将服务库中的数据提供给应用。例如,数据服务系统基于服务库中的数据,以预设的网络接口如REST API,对应用提供数据服务。
其中,在数据推送阶段中,将数据转换后输出的待加载数据同步到服务库时,由于服务库的目的表(写入待加载数据的表)中数据和待加载数据可能存在主键冲突的情况,为了确保数据写入的正常执行,需要先清空服务库中的目的表,然后再将待加载数据全量写入到清空后的目的表中。
但是,清空目的表不仅需要消耗额外的时间,而且目的表中原本存储的数据被清空后也无法恢复。
发明内容
本说明书实施例提供的一种应用于ETL的数据处理方法及装置、电子设备。
根据本说明书实施例的第一方面,提供一种应用于ETL的数据处理方法,所述方法包括:
对ODS层的新表中数据执行数据治理,生成STD层的新表;其中,所述ODS层的新表用于存储本轮ETL执行数据抽取后获取的待处理数据;所述STD层的新表用于存储本轮ETL执行数据治理后获取的标准化数据;
将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;其中,所述STD层的旧表用于存储上一轮ETL执行数据治理后获取的标准化数据;
对所述STD层的新表中数据执行数据开发,生成DWD层的新表;其中,所述DWD层的新表用于存储本轮ETL执行数据开发后获取的待加载数据;
将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;其中,所述DWD层的旧表用于存储上一轮ETL执行数据开发后获取的待加载数据;
将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
根据本说明书实施例的第二方面,提供一种应用于ETL的数据处理装置,所述装置包括:
第一生成模块,用于对ODS层的新表中数据执行数据治理,生成STD层的新表;其中,所述ODS层的新表用于存储本轮ETL执行数据抽取后获取的待处理数据;所述STD层的新表用于存储本轮ETL执行数据治理后获取的标准化数据;
第一识别模块,用于将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;其中,所述STD层的旧表用于存储上一轮ETL执行数据治理后获取的标准化数据;
第二生成模块,用于对所述STD层的新表中数据执行数据开发,生成DWD层的新表;其中,所述DWD层的新表用于存储本轮ETL执行数据开发后获取的待加载数据;
第二识别模块,用于将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;其中,所述DWD层的旧表用于存储上一轮ETL执行数据开发后获取的待加载数据;
数据加载模块,用于将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
根据本说明书实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为本说明书中任一项应用于ETL的数据处理方法。
本说明书实施例提供了应用于ETL的数据处理方案,通过识别待加载数据中的增量数据,仅将该增量数据同步到服务库。由于增量数据与目标服务库中的数据不存在主键冲突,因此即使不清空服务库的目的表,也可以正常写入数据。如此,由于无需清空服务库的目的表,因此提高了数据加载的效率。
附图说明
图1是本说明书一实施例提供的采用现有ETL技术的大数据项目的示意图;
图2是本说明书一实施例提供的应用于ETL的数据处理方法的流程图;
图3是本说明书一实施例提供的采用改进ETL技术的大数据项目的示意图;
图4是本说明书一实施例提供的应用于ETL的数据处理装置的硬件结构图;
图5是本说明书一实施例提供的应用于ETL的数据处理装置的模块示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在采用现有ETL技术的大数据项目中,如图1所示ETL通常包含以下几个数据处理阶段:
1、数据接入阶段。ETL的控制端通过ETL的数据抽取技术,将数据从前置库中抽取到综合库。其中,所述前置库是原始数据所在的数据库,所述综合库是大数据平台的数据库。
2、数据开发阶段。ETL的控制端通过ETL的数据转换技术,对抽取到综合库中的数据进行处理。所述处理可以包括例如数据清洗、数据融合等数据治理方式。
3、数据推送阶段。ETL的控制端通过ETL的数据加载技术,将数据转换后综合库中的待加载数据同步到服务库。
4、数据服务阶段。ETL的控制端通过ETL的数据传输技术,将服务库中的数据提供给应用。例如,数据服务系统基于服务库中的数据,以预设的网络接口如REST API,对应用提供数据服务。
其中,在数据推送阶段,将数据转换后输出的待加载数据同步到服务库时,由于服务库的目的表(写入待加载数据的表)中数据和待加载数据可能存在主键冲突的情况,为了确保数据写入的正常执行,需要先清空服务库中的目的表,然后再将待加载数据全量写入到清空后的目的表中。
但是,清空目的表不仅需要消耗额外的时间,而且目的表中原本存储的数据被清空后也无法恢复。
为了解决上述问题,本申请旨在提供一种不需要清空服务库的目的表,也可以正常写入待加载数据的ETL的数据加载方案。从而提高数据写入的效率。
具体是通过识别待加载数据中的增量数据,仅将该增量数据同步到服务库。由于增量数据与目标服务库中的数据不存在主键冲突,因此即使不清空服务库的目的表,也可以正常写入数据。如此,由于无需清空服务库的目的表,因此提高了数据加载的效率。
以下可以参考图2所示的一种应用于ETL的数据处理方法为例加以介绍,所述方法包括:
步骤110,对ODS层的新表中数据执行数据治理,生成STD层的新表;其中,所述ODS层的新表用于存储本轮ETL执行数据抽取后获取的待处理数据;所述STD层的新表用于存储本轮ETL执行数据治理后获取的标准化数据;
步骤120,将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;其中,所述STD层的旧表用于存储上一轮ETL执行数据治理后获取的标准化数据;
步骤130,对所述STD层的新表中数据执行数据开发,生成DWD层的新表;其中,所述DWD层的新表用于存储本轮ETL执行数据开发后获取的待加载数据;
步骤140,将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;其中,所述DWD层的旧表用于存储上一轮ETL执行数据开发后获取的待加载数据;
步骤150,将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
以下结合图3所示的本实施例提供的改进ETL技术的大数据项目系统的示意图。与前述图1所示的现有ETL技术的大数据项目系统相比,需要对综合库进行分层,即图3中将综合库分为ODS层、STD层和DWD层。
其中,所述综合库是大数据平台的数据库,综合库的每个层可以分别对应有数据表。其中,所述STD层和DWD层中均配置有新表和旧表;新表用于存储本轮ETL的数据,而旧表用于存储上一轮ETL的数据。
如图3所示,数据接入阶段。通过ETL的数据抽取技术,将数据从前置库中抽取到综合库的ODS层。所述前置库是原始数据所在的数据库。其中,所述ODS层中的数据可以按照抽取时间的不同,进行分区存储。从而方便数据管理。
本说明书中,将ETL的数据转换细化为两部分,分别是数据治理和数据开发。
其中,数据治理阶段。通过ETL的数据转换技术提供的数据治理功能,对ODS层中的数据进行数据治理(如对数据进行合并、去重),根据实际的数据标准输出标准化数据,并将标准化数据存储到STD层的新表中。
数据开发阶段。通过ETL的数据转换技术提供的数据开发功能,对STD层的新表中存储的标准化数据进行数据开发,例如根据数据的特征建立对应的数据模型,基于数据模型对标准化数据进行加工,得到对业务有实际意义的数据(例如人口财产信息、人口基础信息等)。这些加工后的数据将存储到DWD层的新表中。
数据推送阶段。通过ETL的数据加载技术,将STD层和/或DWD层中的增量数据作为待加载数据同步到目标服务库。
由于最终写入到目标服务库的数据都是增量数据,因此不会与目标服务库的目的表中数据冲突,也就无需清空目的表。
需要说明的是,上述STD层和DWD层采用的是增量设计方式:
针对STD层和DWD层对应的新表,可以在新表中新增时间列和状态列,分别用于记录数据对应的时间字段(UPDATE)和状态字段(DEL)。其中,所述时间字段用于记录数据的更新时刻,所述状态字段用于记录数据是否是新增数据。
在一示例性的实施例中,所述步骤120,将STD层的新表与旧表进行比较,可以包括:
针对STD层的新表中存在,而STD层的旧表中不存在的数据,将所述STD层的新表中该数据的状态字段设为第一状态(例如TRUE),并更新该数据的时间字段(更新为设置第一状态的时刻);其中,第一状态表示数据为新增数据。
针对STD层的新表中存在,而STD层的旧表中也存在的数据,进一步比对该数据在新表和旧表中的数据内容;如果数据内容不一致(说明本轮与上一轮相比数据有更新),则更新所述STD层的新表中该数据的时间字段(更新为数据内容的比对时刻)。如果一致,则不处理。
另外,针对STD层的新表中不存在,而STD层的旧表中存在的数据,则说明旧表中的数据已被删除,此时可以在STD层的新表中新增该数据,并对该数据进行标记,以指示该数据已被删除。
通过上述示例,可以识别出ODS层到STD层过程中的新增数据(即历史不存在的数据)、更新数据(即历史存在但数据内容更新的数据)和删除数据(即历史存证但当前不存在的数据),这些数据都可以作为ODS层中本轮ETL的增量数据。
本说明书在识别出STD层的新表中的增量数据之后,进一步可以执行步骤130,对所述STD层的新表中数据执行数据开发,生成DWD层的新表。
由于STD层与DWD层的数据是经过数据转换的,因此直接比对难以有效识别增量数据,因此可以预先根据数据开发时的转换算法,具体地可以根据所述STD层执行数据开发时的转换算法,对STD层的新表中数据进行数据开发,并将生成的数据存储到DWD层的新表中。进而可以执行步骤140。
在一示例性的实施例中,所述步骤140,所述将所述DWD层的新表与旧表进行比较,可以包括:
针对DWD层的新表中存在,而DWD层的旧表中不存在的数据,将所述DWD层的新表中该数据的状态字段设为第一状态(例如TRUE),并更新该数据的时间字段(更新为设置第一状态的时刻);其中,第一状态表示数据为新增数据。
针对DWD层的新表中存在,而DWD层的旧表中也存在的数据,进一步比对该数据在新表和旧表中的数据内容;如果数据内容不一致(说明本轮与上一轮相比数据有更新),则更新所述DWD层的新表中该数据的时间字段(更新为数据内容的比对时刻)。如果一致,则不处理。
针对DWD层的新表中不存在,而DWD层的旧表中存在的数据,说明旧表中的数据已被删除,此时可以在DWD层的新表中新增该数据,并对该数据进行标记,以指示该数据已被删除。
通过上述示例,可以识别出STD层到DWD层过程中的新增数据(即历史不存在的数据)、更新数据(即历史存在但数据内容更新的数据)和删除数据(即历史存证但当前不存在的数据),这些数据都可以作为DWD层中本轮ETL的增量数据。
在识别出所述DWD层的新表中的增量数据之后,就可以将所述DWD层中的增量数据写入到目标服务库中。其中,所述DWD层中的增量数据包括所述DWD层的新表中时间字段对应的时刻位于本轮ETL开始时刻之后的数据。
另外,由于也识别了ODS层的新表中的增量数据,在有的实施例中可以不进行数据开发,而直接将ODS层的新表中的增量数据写入到目标服务库中。其中,所述STD层中的增量数据包括所述STD层的新表中时间字段对应的时刻位于本轮ETL开始时刻之后的数据。
应用上述的技术方案,通过识别待加载数据中的增量数据,仅将该增量数据同步到服务库。由于增量数据与目标服务库中的数据不存在主键冲突,因此即使不清空服务库的目的表,也可以正常写入数据。如此,由于无需清空服务库的目的表,因此提高了数据加载的效率。
与前述应用于ETL的数据处理方法实施例相对应,本说明书还提供了应用于ETL的数据处理装置的实施例。所述装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机业务程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本说明书应用于ETL的数据处理装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常根据应用于ETL的数据处理实际功能,还可以包括其他硬件,对此不再赘述。
请参见图5,为本说明书一实施例提供的应用于ETL的数据处理装置的模块图,所述装置对应了图2所示实施例,所述装置包括:
第一生成模块310,用于对ODS层的新表中数据执行数据治理,生成STD层的新表;其中,所述ODS层的新表用于存储本轮ETL执行数据抽取后获取的待处理数据;所述STD层的新表用于存储本轮ETL执行数据治理后获取的标准化数据;
第一识别模块320,用于将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;其中,所述STD层的旧表用于存储上一轮ETL执行数据治理后获取的标准化数据;
第二生成单元330,用于对所述STD层的新表中数据执行数据开发,生成DWD层的新表;其中,所述DWD层的新表用于存储本轮ETL执行数据开发后获取的待加载数据;
第二识别模块340,用于将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;其中,所述DWD层的旧表用于存储上一轮ETL执行数据开发后获取的待加载数据;
数据加载模块350,用于将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
在一示例性的实施例中,所述STD层和DWD层的新表中数据还配置有时间字段和状态字段;其中,所述时间字段用于记录旧数据的更新时刻,所述状态字段用于记录数据是否是新增数据。
在一示例性的实施例中,所述第一识别模块320,还用于针对STD层的新表中存在,而STD层的旧表中不存在的数据,将所述STD层的新表中该数据的状态字段设为第一状态,并更新该数据的时间字段;其中,第一状态表示数据为新增数据。
在一示例性的实施例中,所述第一识别模块320,还用于针对STD层的新表中存在,而STD层的旧表中也存在的数据,进一步比对该数据在新表和旧表中的数据内容;如果数据内容不一致,则更新所述STD层的新表中该数据的时间字段。
在一示例性的实施例中,所述第一识别模块320,还用于针对STD层的新表中不存在,而STD层的旧表中存在的数据,在STD层的新表中新增该数据,并对该数据进行标记,以指示该数据已被删除。
在一示例性的实施例中,所述第二识别模块340,还用于针对DWD层的新表中存在,而DWD层的旧表中不存在的数据,将所述DWD层的新表中该数据的状态字段设为第一状态,并更新该数据的时间字段;其中,第一状态表示数据为新增数据。
在一示例性的实施例中,所述第二识别模块340,还用于针对DWD层的新表中存在,而DWD层的旧表中也存在的数据,进一步比对该数据在新表和旧表中的数据内容;如果数据内容不一致,则更新所述DWD层的新表中该数据的时间字段。
在一示例性的实施例中,所述第二识别模块340,还用于针对DWD层的新表中不存在,而DWD层的旧表中存在的数据,在DWD层的新表中新增该数据,并对该数据进行标记,以指示该数据已被删除。
在一示例性的实施例中,所述DWD层中的增量数据包括所述DWD层的新表中时间字段对应的时刻位于本轮ETL开始时刻之后的数据。
在一示例性的实施例中,所述STD层中的增量数据包括所述STD层的新表中时间字段对应的时刻位于本轮ETL开始时刻之后的数据
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上描述的应用于ETL的数据处理装置的内部功能模块和结构示意,其实质上的执行主体可以为一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行前述任一实施例所述的应用于ETL的数据处理方法。
在上述电子设备的实施例中,应理解,该处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,而前述的存储器可以是只读存储器(英文:read-only memory,缩写:ROM)、随机存取存储器(英文:random access memory,简称:RAM)、快闪存储器、硬盘或者固态硬盘。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
Claims (13)
1.一种应用于ETL的数据处理方法,其特征在于,所述方法包括:
对ODS层的新表中数据执行数据治理,生成STD层的新表;其中,所述ODS层的新表用于存储本轮ETL执行数据抽取后获取的待处理数据;所述STD层的新表用于存储本轮ETL执行数据治理后获取的标准化数据;
将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;其中,所述STD层的旧表用于存储上一轮ETL执行数据治理后获取的标准化数据;
对所述STD层的新表中数据执行数据开发,生成DWD层的新表;其中,所述DWD层的新表用于存储本轮ETL执行数据开发后获取的待加载数据;
将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;其中,所述DWD层的旧表用于存储上一轮ETL执行数据开发后获取的待加载数据;
将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
2.根据权利要求1所述的方法,其特征在于,所述STD层和DWD层的新表中数据还配置有时间字段和状态字段;其中,所述时间字段用于记录数据的更新时刻,所述状态字段用于记录数据是否是新增数据。
3.根据权利要求2所述的方法,其特征在于,所述将STD层的新表与旧表进行比较,包括:
针对STD层的新表中存在,而STD层的旧表中不存在的数据,将所述STD层的新表中该数据的状态字段设为第一状态,并更新该数据的时间字段;其中,第一状态表示数据为新增数据。
4.根据权利要求3所述的方法,其特征在于,还包括:
针对STD层的新表中存在,而STD层的旧表中也存在的数据,进一步比对该数据在新表和旧表中的数据内容;
如果数据内容不一致,则更新所述STD层的新表中该数据的时间字段。
5.根据权利要求3所述的方法,其特征在于,还包括:
针对STD层的新表中不存在,而STD层的旧表中存在的数据,在STD层的新表中新增该数据,并对该数据进行标记,以指示该数据已被删除。
6.根据权利要求2所述的方法,其特征在于,所述将所述DWD层的新表与旧表进行比较,包括:
针对DWD层的新表中存在,而DWD层的旧表中不存在的数据,将所述DWD层的新表中该数据的状态字段设为第一状态,并更新该数据的时间字段;其中,第一状态表示数据为新增数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
针对DWD层的新表中存在,而DWD层的旧表中也存在的数据,进一步比对该数据在新表和旧表中的数据内容;
如果数据内容不一致,则更新所述DWD层的新表中该数据的时间字段。
8.根据权利要求6所述的方法,其特征在于,好包括:
针对DWD层的新表中不存在,而DWD层的旧表中存在的数据,在DWD层的新表中新增该数据,并对该数据进行标记,以指示该数据已被删除。
9.根据权利要求2所述的方法,其特征在于,所述DWD层中的增量数据包括所述DWD层的新表中时间字段对应的时刻位于本轮ETL开始时刻之后的数据。
10.根据权利要求2所述的方法,其特征在于,所述STD层中的增量数据包括所述STD层的新表中时间字段对应的时刻位于本轮ETL开始时刻之后的数据。
11.一种应用于ETL的数据处理装置,其特征在于,所述装置包括:
第一生成模块,用于对ODS层的新表中数据执行数据治理,生成STD层的新表;其中,所述ODS层的新表用于存储本轮ETL执行数据抽取后获取的待处理数据;所述STD层的新表用于存储本轮ETL执行数据治理后获取的标准化数据;
第一识别模块,用于将STD层的新表与旧表进行比较,以识别所述STD层的新表中的增量数据;其中,所述STD层的旧表用于存储上一轮ETL执行数据治理后获取的标准化数据;
第二生成模块,用于对所述STD层的新表中数据执行数据开发,生成DWD层的新表;其中,所述DWD层的新表用于存储本轮ETL执行数据开发后获取的待加载数据;
第二识别模块,用于将所述DWD层的新表与旧表进行比较,以识别所述DWD层的新表中的增量数据;其中,所述DWD层的旧表用于存储上一轮ETL执行数据开发后获取的待加载数据;
数据加载模块,用于将所述STD层和/或DWD层中的增量数据写入到目标服务库中。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为上述权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165389.1A CN113886478B (zh) | 2021-09-30 | 2021-09-30 | 应用于etl的数据处理方法和装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111165389.1A CN113886478B (zh) | 2021-09-30 | 2021-09-30 | 应用于etl的数据处理方法和装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113886478A true CN113886478A (zh) | 2022-01-04 |
CN113886478B CN113886478B (zh) | 2024-09-17 |
Family
ID=79005117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111165389.1A Active CN113886478B (zh) | 2021-09-30 | 2021-09-30 | 应用于etl的数据处理方法和装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886478B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026199A1 (en) * | 2004-07-15 | 2006-02-02 | Mariano Crea | Method and system to load information in a general purpose data warehouse database |
US20170011104A1 (en) * | 2015-07-06 | 2017-01-12 | Oracle International Corporation | Optimizing incremental loading of warehouse data |
CN108984725A (zh) * | 2018-07-11 | 2018-12-11 | 浪潮软件股份有限公司 | 一种跨网闸数据同步方法 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
US20190197027A1 (en) * | 2016-12-19 | 2019-06-27 | Tencent Technology (Shenzhen) Company Limited | Data management method and server |
US20200334089A1 (en) * | 2019-04-18 | 2020-10-22 | Oracle International Corporation | System and method for determining an amount of virtual machines for use with extract, transform, load (etl) processes |
CN111813845A (zh) * | 2020-06-29 | 2020-10-23 | 平安国际智慧城市科技股份有限公司 | 基于etl任务的增量数据抽取方法、装置、设备及介质 |
CN112783848A (zh) * | 2021-01-20 | 2021-05-11 | 杭州数梦工场科技有限公司 | 一种数据同步方法、装置及电子设备 |
CN112988720A (zh) * | 2019-12-18 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 数据治理方法、装置、设备及存储介质 |
-
2021
- 2021-09-30 CN CN202111165389.1A patent/CN113886478B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060026199A1 (en) * | 2004-07-15 | 2006-02-02 | Mariano Crea | Method and system to load information in a general purpose data warehouse database |
US20170011104A1 (en) * | 2015-07-06 | 2017-01-12 | Oracle International Corporation | Optimizing incremental loading of warehouse data |
US20190197027A1 (en) * | 2016-12-19 | 2019-06-27 | Tencent Technology (Shenzhen) Company Limited | Data management method and server |
CN108984725A (zh) * | 2018-07-11 | 2018-12-11 | 浪潮软件股份有限公司 | 一种跨网闸数据同步方法 |
CN109213817A (zh) * | 2018-08-10 | 2019-01-15 | 杭州数梦工场科技有限公司 | 增量数据抽取方法、装置及服务器 |
US20200334089A1 (en) * | 2019-04-18 | 2020-10-22 | Oracle International Corporation | System and method for determining an amount of virtual machines for use with extract, transform, load (etl) processes |
CN112988720A (zh) * | 2019-12-18 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 数据治理方法、装置、设备及存储介质 |
CN111813845A (zh) * | 2020-06-29 | 2020-10-23 | 平安国际智慧城市科技股份有限公司 | 基于etl任务的增量数据抽取方法、装置、设备及介质 |
CN112783848A (zh) * | 2021-01-20 | 2021-05-11 | 杭州数梦工场科技有限公司 | 一种数据同步方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
尉宁: "电信行业数据仓库建设与实践", 《信息科技》, 15 June 2007 (2007-06-15) * |
远处的一只猫: "大数据数仓中增量数据问题讨论", Retrieved from the Internet <URL:https://blog.csdn.net/micklf/article/details/82893776> * |
Also Published As
Publication number | Publication date |
---|---|
CN113886478B (zh) | 2024-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6675180B2 (en) | Data updating apparatus that performs quick restoration processing | |
CN107590207B (zh) | 数据同步方法及装置、电子设备 | |
JP2008225693A (ja) | データベース管理方法、装置およびプログラム | |
CN107665255B (zh) | 键值数据库数据变更的方法、装置、设备及存储介质 | |
CN105573788B (zh) | 补丁处理的方法和设备以及生成补丁的方法和设备 | |
CN113495872A (zh) | 分布式数据库中的事务处理方法及系统 | |
CN110377276B (zh) | 源代码文件管理方法及设备 | |
CN112579591B (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN107391539B (zh) | 事务处理方法、服务器和存储介质 | |
CN114721594A (zh) | 一种分布式存储方法、装置、设备及机器可读存储介质 | |
CN114647658A (zh) | 一种数据检索方法、装置、设备及机器可读存储介质 | |
CN109271097B (zh) | 数据处理方法、数据处理装置和服务器 | |
CN108959548B (zh) | 业务请求的处理方法及装置 | |
CN113886478B (zh) | 应用于etl的数据处理方法和装置及电子设备 | |
CN115421856A (zh) | 一种数据恢复方法及装置 | |
CN115543918A (zh) | 一种文件快照方法、系统、电子设备及存储介质 | |
CN115563204A (zh) | 运单状态更新方法、装置、电子设备及存储介质 | |
CN112860376A (zh) | 一种快照链的制作方法、装置、电子设备及存储介质 | |
CN113836214A (zh) | 应用于etl的数据加载、读取方法和装置及电子设备 | |
CN107436918B (zh) | 数据库实现方法、装置和设备 | |
CN111931010B (zh) | 一种锚点与线条的动态绑定方法、装置、设备和存储介质 | |
CN107229419B (zh) | 基于三维闪存的数据写入方法及装置 | |
CN117632527A (zh) | 基于主键冲突检测的数据写入方法、装置、设备及介质 | |
CN117194343A (zh) | 一种Zip文件的修改方法、装置、设备及存储介质 | |
CN118096171A (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 | ||
GR01 | Patent grant |