CN109241042B - 数据处理方法、装置以及电子设备 - Google Patents
数据处理方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN109241042B CN109241042B CN201810824834.2A CN201810824834A CN109241042B CN 109241042 B CN109241042 B CN 109241042B CN 201810824834 A CN201810824834 A CN 201810824834A CN 109241042 B CN109241042 B CN 109241042B
- Authority
- CN
- China
- Prior art keywords
- etl
- data
- task
- job
- processing
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理方法、装置以及电子设备,涉及数据处理技术领域,数据处理方法应用于抽取‑转换‑装载ETL处理工具,方法包括:调度对待处理数据进行ETL处理的ETL作业;执行ETL作业,得到目标数据并存储至数据仓库,其中,目标数据包括采用ETL作业对待处理数据进行ETL处理后得到的第一数据和用于唯一标识第一数据的标记信息;在根据ETL处理日志确定ETL作业失败时,根据ETL处理日志和标记信息从数据仓库中确定出目标数据,并对目标数据进行清理。采用上述方法,实现了对数据仓库中脏数据的准确定位和快速清理,解决了现有技术中存在的由于脏数据清理不及时而导致数据仓库中数据质量降低的问题。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种数据处理方法、装置以及电子设备。
背景技术
随着大数据和人工智能的发展,数据成为了重要的资源,数据分析、机器学习等技术都依靠于海量的数据。
目前,数据通常存在于数据库、文件、流量日志等存储媒介中,通过抽取-转换-装载(Extract-Transform-Load,简称ETL)处理工具可以将分散的数据采集到数据仓库中或者数据管理平台中。其中,常见的ETL处理工具有Sqoop、Kettle等。
但是,在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示出了本发明实施例一所提供的数据处理方法的流程图;
图2示出了本发明实施例一所提供的调度的ETL作业对源数据进行ETL处理过程的流程图;
图3示出了本发明实施例一所提供的未针对第二数据设置新增列的数据结构示意图;
图4示出了本发明实施例一所提供的针对第二数据设置有新增列的数据结构示意图;
图5示出了本发明实施例二所提供的一种数据处理装置的结构示意图;
图6示出了本发明实施例三所提供的一种电子设备的结构示意图。
图标:3-数据处理装置;31-调度单元;32-执行单元;33-清理单元;4-电子设备;41-存储器;42-处理器;43-总线;44-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在使用ETL处理工具对数据进行ETL处理的过程中,通常会由于各种原因发生ETL处理失败的情况,导致数据仓库中出现脏数据,从而降低了数据仓库中的数据质量,这便会影响到数据分析的结果和机器学习的效果,造成下游数据应用的连锁不良反应。因此,数据仓库中由于ETL处理的某个过程失败导致的脏数据,很可能会造成无法预估的损失。而目前业内的ETL处理工具都无法自动处理这种ETL处理失败导致的脏数据,只能通过人为的形式将这些脏数据找出进而删除。在数据量小的情况下,通过人为参与脏数据的寻找以及处理,可以临时性的解决这个问题,但是随着数据量的增加,这种方法便会愈发困难,并且很容易出错,导致严重后果。因此,目前数据仓库中出现脏数据导致数据仓库中数据质量降低的问题难以解决。
基于此,本发明实施例提供的一种数据处理方法、装置以及电子设备,可以解决现有技术中存在的脏数据导致数据仓库中数据质量降低的技术问题。
为便于对本发明实施例进行理解,首先对本发明实施例所公开的一种数据处理方法、装置以及电子设备进行详细介绍。
实施例一:
本发明实施例提供的一种数据处理方法,应用于ETL处理工具,如图1所示,该方法包括:
S11:调度对待处理数据进行ETL处理的ETL作业。
具体的,所谓ETL处理过程,指的是对数据抽取、转换、装载的过程。本发明实施例中,一个ETL处理过程可以定义为:调度一次ETL作业对待处理数据进行ETL处理的过程。实际应用中,一个ETL作业可以包括一个或多个ETL任务,一个ETL作业中预先定义了各ETL任务之间的处理逻辑关系,一个ETL作业可以被重复调度。ETL任务是ETL作业中能够对数据进行抽取、转换、装载处理的子单元,一个ETL任务可以单独对输入数据执行抽取、转换、装载处理,得到ETL处理后的数据。
具体的,根据预设的ETL处理规则,在确定有源数据需要进行ETL处理时,需要具体调度一个ETL作业,并使用该一个ETL作业中包含的各ETL任务对待处理数据进行ETL处理。
示例性的,参阅图2所示,ETL作业一(以下简称为作业一)由ETL任务A和ETL任务B组成,且ETL任务A和ETL任务B相关联,那么,在一次调度作业一对源数据进行ETL处理的过程中,首先,采用ETL任务A对源数据进行ETL处理,得到相应的中间数据;然后,采用ETL任务B继续对该中间数据进行ETL处理,得到作业一处理完成后的数据,并存储至数据仓库。由上可知,由于整个作业一过程中的每个ETL任务的处理过程均是成功的,那么,此次调度作业一进行ETL处理得到的存储至数据仓库的数据不是脏数据。相对应的,ETL作业二(以下简称为作业二)由ETL任务C和ETL任务D组成,且ETL任务C和ETL任务D相关联,那么,在一次调度作业二对源数据进行ETL处理的过程中,首先,采用ETL任务C对源数据进行ETL处理,得到相应的中间数据;然后,无论ETL任务C是否处理成功,仍会继续采用ETL任务D继续对该中间数据进行ETL处理,得到作业二处理完成后的数据,并存储至数据仓库。然而,由于作业二过程中的某个ETL任务(ETL任务C)的处理过程是失败的,那么,此次调度作业二进行ETL处理得到的存储至数据仓库的数据是脏数据。
进一步的,本发明实施例中,不同ETL作业所包含的各ETL任务可以不同,各ETL任务之间的处理逻辑关系也可以不同。
例如,假设ETL作业A包括ETL任务A1和ETL任务A2,ETL任务A1和ETL任务A2是串行设计的,需要先执行ETL任务A1,再执行ETL任务A2(即ETL任务A1和ETL任务A2之间是相关联的)。
又例如,假设ETL作业B包括ETL任务B1和ETL任务B2,而ETL任务B1和ETL任务B2是并行设计的,即在执行ETL任务B1的同时,还可以执行ETL任务B2(即ETL任务B1和ETL任务B2之间是相互独立的)。
S12:执行上述ETL作业,得到目标数据并存储至数据仓库。
其中,上述目标数据包括采用上述ETL作业对上述待处理数据进行ETL处理后得到的第一数据和用于唯一标识上述第一数据的标记信息。
具体的,本发明实施例中,在对待处理数据执行完此次调度的ETL作业时,得到携带有采用此次调度的ETL作业对待处理数据进行ETL处理后得到的第一数据和用于唯一标识该第一数据的标记信息的目标数据。也就是说,一个标记信息用于标识一个目标数据具体是由哪次调度,具体调度哪个ETL作业对待处理数据进行ETL处理后得到并存储至数据仓库中的。
在一种可能实施方式中,该ETL作业包括n个ETL任务,n为大于等于1的整数,当n大于1时,n个ETL任务之间存在任务执行的逻辑关系,该标记信息包括第一标记信息,该第一标记信息包括上述调度对待处理数据进行ETL处理的ETL作业的调度ID和该ETL作业的作业ID,其中,作业ID用于表征具体调度的是哪个ETL作业,而调度ID用于表征具体是哪一次调度该ETL作业。
如上所述,若标记信息仅包括调度ID和作业ID,那么,执行上述ETL作业,得到目标数据的步骤包括:根据上述ETL作业中各ETL任务之间的逻辑关系,执行上述ETL作业中的各ETL任务,当上述ETL作业中的第m个ETL任务执行完成后,针对产生的第二数据设置上述第一标记信息,将上述第二数据和上述第一标记信息作为执行第m+1个ETL任务的输入数据;针对上述输入数据中的第二数据执行上述第m+1个ETL任务,并将执行第m+1个ETL任务产生的第二数据和上述第一标记信息作为执行第m+2个ETL任务的输入数据,直至执行完第n个ETL任务后,将执行上述第n个ETL任务产生的第二数据作为上述目标数据的第一数据。
也就是说,针对采用此次调度的ETL作业对待处理数据进行ETL处理后得到的第一数据,添加调度ID和作业ID的方式包括但不限于以下方式:在采用此次ETL作业对待处理数据进行ETL处理的过程中,在执行完任意一个ETL任务后得到的数据中增加调度ID和作业ID。
例如,假设需要第3次调度ETL作业4对待处理数据1进行ETL处理,ETL作业4包括串行设计的ETL任务a和ETL任务b,在采用ETL作业4对待处理数据1进行ETL处理时,需要先执行ETL任务a,再执行ETL任务b,此次调度ETL作业4对待处理数据1进行ETL处理相对应的调度ID为3,作业ID为4。那么,在采用第3次调度的ETL作业4对待处理数据1进行ETL处理的过程中,可以针对采用ETL任务a对待处理数据1进行ETL处理后得到的中间数据1,添加调度ID和作业ID(如:3;4),也可以针对执行ETL任务b对上述中间数据1(此时中间数据1中不包括调度ID和作业ID)进行ETL处理后得到的第一数据,添加调度ID和作业ID(如,3;4),最终得到的目标数据1的格式为:第一数据+标记信息(如,3;4)。
在另一种可能实施方式中,该标记信息除了包括调度ID和作业ID,还包括第二标记信息,该第二标记信息包括ETL任务的任务ID,该任务ID用于表征目标数据是具体经过ETL作业中哪些ETL任务处理后得到的。
若上述标记信息包括调度ID,作业ID和任务ID,那么执行上述ETL作业,得到目标数据还包括:在上述ETL作业中每个ETL任务执行完成后,针对产生的第二数据设置对应的第二标记信息,其中,在第m个ETL任务对应的第二标记信息中增加第m+1个ETL任务的任务ID,得到第m+1个任务对应的第二标记信息。
例如,假设需要第3次调度ETL作业4对待处理数据1进行ETL处理,ETL作业4包括串行设计的ETL任务a和ETL任务b,ETL任务a的任务ID为a,ETL任务b的任务ID为b,在采用ETL作业4进行ETL处理时,需要先执行ETL任务a,再执行ETL任务b,此次调度ETL作业对待处理数据进行ETL处理相对应的调度ID为3,作业ID为4。那么,在此以在执行ETL作业4中第一个ETL任务(即ETL任务a)时添加调度ID和作业ID为例,添加任务ID的方式包括:在采用ETL作业4对待处理数据1进行ETL处理时,首先,采用ETL任务a对待处理数据1进行ETL处理,得到相应的中间数据1,其数据格式为:数据a+标记信息1(3;4;a),然后,采用ETL任务b对中间数据1进行ETL处理,得到相应的目标数据,其数据格式为:数据b+标记信息2(3;4;a,b),显然,标记信息2是在标记信息1的基础上增加ETL任务b的任务ID。
也就是说,在执行一个ETL作业中的一个ETL任务时,将该一个ETL任务的任务ID添加至采用该一个ETL任务对输入数据进行ETL处理后得到的数据中。
本发明实施例中,目标数据的标记信息可以仅包括第一标记信息(即调度ID和作业ID),也可以在包括第一标记信息的基础上,还包括第二标记信息(即任务ID)。
进一步的,本发明实施例中,上述针对产生的第二数据设置第一标记信息的步骤包括:在第二数据中增加一列以存储第一标记信息;上述针对产生的第二数据设置第二标记信息的步骤包括:在第二数据中增加一列以存储第二标记信息,其中,用于存储所述第一标记信息的列和用于存储所述第二标记信息的列为相同的列或为不同的列。
实际应用中,调度一个ETL作业对待处理数据进行ETL处理,在采用该一个ETL作业中任一ETL任务对输入数据进行ETL处理后得到的第二数据得数据结构是以特定的分隔符按列划分的。示例性的,参阅图3所示,未针对第二数据设置标记信息的数据结构示意图,其中,ID列表示唯一的主键字段,NAME列表示元素名称,AGE列表示网络协议(InternetProtocol,简称IP)占用的租用时间,等等。
本发明实施例中,可以采用在第二数据原有数据结构的基础上新增列的方式,针对第二数据设置标记信息,新增的列用于存储标记信息。
具体的,若标记信息仅包括第一标记信息,则只需新增一列,用于存储第一标记信息。若标记信息包括第一标记信息和第二标记信息,则一种可选实施方式为:在第二数据中新增一列用于存储第一标记信息,并在第二数据中新增另一列用于存储第二标记信息;另一种可选实施方式为:在第二数据中新增一列用于存储第一标记信息和第二标记信息。
示例性的,参阅图4所示,针对第二数据设置有第一标记信息和第二标记信息的数据结构示意图。
S13:在根据ETL处理日志确定上述ETL作业失败时,根据上述ETL处理日志和上述标记信息从上述数据仓库中确定出上述目标数据,并对上述目标数据进行清理。
具体的,遍历ETL处理日志,若上述ETL处理日志中作业状态标识指示上述ETL作业执行失败时,从上述ETL处理日志中获取上述标记信息;将与获取到的上述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据并清理。
具体的,在一种可能实施方式中,标记信息仅包括调度ID和作业ID,那么,在一次调度一个ETL作业对待处理数据进行ETL处理的过程中,ETL处理工具会生成相应的一条ETL处理日志,可选的,ETL处理工具生成的各条ETL处理日志存储在ETL处理日志库中,上述ETL处理日志机器可读,其中,一条ETL日志至少包括用于表征此次调度的一个ETL作业是否执行成功的作业状态标识,此外,该一条ETL处理日志还包括此次调度一个ETL作业的调度ID信息和此次具体调度的一个ETL作业的作业ID信息。
这样,在基于预设的规则遍历ETL处理日志库时,若根据一条ETL处理日志的作业状态标识确定一个ETL作业执行失败,则从该一条ETL处理日志中获取此次调度一个ETL作业的调度ID信息和此次具体调度的该一个ETL作业的作业ID信息,将该调度ID信息和作业ID信息与数据仓库中各目标数据的标记信息进行匹配,并将标记信息与该调度ID信息和作业ID信息相匹配的目标数据确定为脏数据,以及对确定出的脏数据进行清理。
例如,假设根据ETL处理日志1的作业状态标识确定第3次调度ETL作业4执行失败,则从ETL处理日志1中获取第3次调度ETL作业4的调度ID信息(如,3)和ETL作业4的作业ID信息(如,4),由于数据仓库中各目标数据携带的标记信息中均包括相应的调度ID和作业ID,这样,就可以将获取到的调度ID(3)和作业ID(4)与数据仓库中各目标信息的标记信息进行匹配,并将标记信息为(3;4),即标记信息中包含的调度ID为3,作业ID为4的目标数据确定为脏数据,并删除确定出的脏数据。
在另一种可能实施方式中,标记信息除了包括调度ID和作业ID之外,还包括任务ID,那么,在一次调度一个ETL作业对待处理数据进行ETL处理的过程中,ETL处理工具生成的ETL处理日志中除了包括用于表征此次调度的一个ETL作业是否执行成功的作业状态标识,此次调度一个ETL作业的调度ID信息和此次具体调度的一个ETL作业的作业ID信息之外,还包括用于表征目标数据是具体经过此次具体调度的一个ETL作业中哪些ETL任务处理后得到的任务ID和用于分别表征此次调度的该一个ETL作业中各ETL任务是否执行成功的任务状态标识。
这样,在基于预设的规则遍历ETL处理日志库时,若根据一条ETL处理日志的作业状态标识确定一个ETL作业执行失败,则根据各ETL任务的任务状态标识确定执行失败的ETL任务的任务ID信息,并从该一条ETL处理日志中获取此次调度一个ETL作业的调度ID信息和此次具体调度的该一个ETL作业的作业ID信息和各ETL任务的任务状态信息,将确定出的调度ID信息,作业ID信息和任务ID信息与数据仓库中各目标数据的标记信息进行匹配,并将标记信息包含该确定出的调度ID信息,作业ID信息和任务ID信息的目标数据确定为脏数据,以及对确定出的脏数据进行清理。
例如,假设ETL作业4包括串行设计的ETL任务a,ETL任务b和ELT任务c,若根据ETL处理日志1的作业状态标识确定第3次调度作业4执行失败,则从ETL处理日志1中获取ETL任务a,ETL任务b和ELT任务c的任务状态标识,并根据获取到的任务状态标识确定执行失败的ETL任务的任务ID(如,b),从ETL处理日志1中获取第3次调度ETL作业4的调度ID信息(如,3)和ETL作业4的作业ID信息(如,4),这样,就可以将获取到的调度ID(3),作业ID(4)和任务ID(b)与数据仓库中各目标信息的标记信息进行匹配,并将标记信息中包含的调度ID为3,作业ID为4,任务ID包含b(如,标记信息为(3;4;a,b,c))的目标数据确定为脏数据,并删除确定出的脏数据。
显然,本发明实施例中,若标记信息包括调度ID,作业ID和任务ID,则在根据标记信息确定脏数据时,能够更准确的确定出脏数据。
本发明实施例中,在任意一次调度任意一个ETL作业对待处理数据进行ETL处理后,均会产生对应的目标数据并存储至数据仓库中,若一次调度的ETL作业执行失败,则执行该一次调度的ETL作业产生并存储至数据仓库的目标数据即为脏数据,脏数据降低了数据仓库中数据的质量,也就是说,执行该一次ETL作业的操作对数据仓库产生了一个坏的影响事件。本发明实施例中,通过ETL处理日志,及目标数据包括的标记信息,从数据仓库中确定出脏数据,并对确定出的脏数据进行清理,以使得数据仓库回滚到未产生上述一个坏的影响事件前的状态。当然,清理数据仓库中的脏数据也可以理解为对ETL工具状态的回滚,即通过删除数据仓库中的脏数据,使得ETL工具回滚至未对数据仓库产生上述一个坏的影响事件前的状态。
进一步的,本发明实施例中,还可以根据用户预设的标记信息处理规则,针对数据仓库中除确定出的脏数据之外的其他目标数据,删除该其他目标数据的标记信息。
实施例二:
基于同样的发明构思,本发明实施例提供的一种数据处理装置,应用于ETL处理工具,如图5所示,数据处理装置3包括:调度单元31、执行单元32以及清理单元33。
其中,调度单元31,用于调度对待处理数据进行ETL处理的ETL作业;
执行单元32,用于执行上述ETL作业,得到目标数据并存储至数据仓库,其中,上述目标数据包括采用上述ETL作业对上述待处理数据进行ETL处理后得到的第一数据和用于唯一标识上述第一数据的标记信息;
清理单元33,用于在根据ETL处理日志确定上述ETL作业失败时,根据上述ETL处理日志和上述标记信息从上述数据仓库中确定出上述目标数据,并对上述目标数据进行清理。
可选的,上述ETL作业包括n个ETL任务,上述n为大于等于1的整数,当n大于1时,n个ETL任务之间存在任务执行的逻辑关系;
上述标记信息包括第一标记信息,上述第一标记信息包括上述调度对待处理数据进行ETL处理的ETL作业的调度ID和上述ETL作业的作业ID;
上述执行上述ETL作业,得到目标数据时,上述执行单元32用于:
根据上述ETL作业中各ETL任务之间的逻辑关系,执行上述ETL作业中的各ETL任务,当上述ETL作业中的第m个ETL任务执行完成后,针对产生的第二数据设置上述第一标记信息,将上述第二数据和上述第一标记信息作为执行第m+1个ETL任务的输入数据;
针对上述输入数据中的第二数据执行上述第m+1个ETL任务,并将执行第m+1个ETL任务产生的第二数据和上述第一标记信息作为执行第m+2个ETL任务的输入数据,直至执行完第n个ETL任务后,将执行上述第n个ETL任务产生的第二数据作为上述目标数据的第一数据。
可选的,上述标记信息还包括第二标记信息,上述第二标记信息包括ETL任务的任务ID;
上述执行上述ETL作业,得到目标数据时,上述执行单元32还用于:
在上述ETL作业中每个ETL任务执行完成后,针对产生的第二数据设置对应的第二标记信息,其中,在第m个ETL任务对应的第二标记信息中增加第m+1个ETL任务的任务ID,得到第m+1个任务对应的第二标记信息。
可选的,上述在根据ETL处理日志确定上述ETL作业失败时,根据上述ETL处理日志和上述标记信息从上述数据仓库中确定出上述目标数据,并对上述目标数据进行清理时,上述清理单元33用于:
遍历ETL处理日志,若上述ETL处理日志中作业状态标识指示上述ETL作业执行失败时,从上述ETL处理日志中获取上述标记信息;
将与获取到的上述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据并清理。
可选的,针对产生的第二数据设置上述第一标记信息时,上述执行单元32用于:
在上述第二数据中增加一列以存储上述第一标记信息;
针对产生的第二数据设置上述第二标记信息时,上述执行单元32用于:
在上述第二数据中增加一列以存储上述第二标记信息;
用于存储上述第一标记信息的列和用于存储上述第二标记信息的列为相同的列或为不同的列。
本发明实施例提供的数据处理装置,与上述实施例提供的数据处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
实施例三:
本发明实施例提供的一种电子设备,如图6所示,电子设备4包括存储器41、处理器42,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一或实施例二提供的方法的步骤。
参见图6,电子设备还包括:总线43和通信接口44,处理器42、通信接口44和存储器41通过总线43连接;处理器42用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线43可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器42在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器42中,或者由处理器42实现。
处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器42读取存储器41中的信息,结合其硬件完成上述方法的步骤。
实施例四:
本发明实施例提供的一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述实施例一或实施例二提提供的方法。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例提供的具有处理器可执行的非易失的程序代码的计算机可读介质,与上述实施例提供的数据处理方法、装置以及电子设备具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的进行数据处理方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (11)
1.一种数据处理方法,其特征在于,应用于抽取-转换-装载ETL处理工具,所述方法包括:
调度对待处理数据进行ETL处理的ETL作业;
执行所述ETL作业,得到目标数据并存储至数据仓库,其中,所述目标数据包括采用所述ETL作业对所述待处理数据进行ETL处理后得到的第一数据和用于唯一标识所述第一数据的标记信息;
在根据ETL处理日志确定所述ETL作业失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出所述目标数据,并对所述目标数据进行清理。
2.根据权利要求1所述的数据处理方法,其特征在于,
所述ETL作业包括n个ETL任务,所述n为大于等于1的整数,当n大于1时,n个ETL任务之间存在任务执行的逻辑关系;
所述标记信息包括第一标记信息,所述第一标记信息包括所述调度对待处理数据进行ETL处理的ETL作业的调度ID和所述ETL作业的作业ID;
所述执行所述ETL作业,得到目标数据包括:
根据所述ETL作业中各ETL任务之间的逻辑关系,执行所述ETL作业中的各ETL任务,当所述ETL作业中的第m个ETL任务执行完成后,针对产生的第二数据设置所述第一标记信息,将所述第二数据和所述第一标记信息作为执行第m+1个ETL任务的输入数据;
针对所述输入数据中的第二数据执行所述第m+1个ETL任务,并将执行第m+1个ETL任务产生的第二数据和所述第一标记信息作为执行第m+2个ETL任务的输入数据,直至执行完第n个ETL任务后,将执行所述第n个ETL任务产生的第二数据作为所述目标数据的第一数据。
3.根据权利要求2所述的数据处理方法,其特征在于,所述标记信息还包括第二标记信息,所述第二标记信息包括ETL任务的任务ID;
所述执行所述ETL作业,得到目标数据还包括:
在所述ETL作业中每个ETL任务执行完成后,针对产生的第二数据设置对应的第二标记信息,其中,在第m个ETL任务对应的第二标记信息中增加第m+1个ETL任务的任务ID,得到第m+1个任务对应的第二标记信息。
4.根据权利要求1-3任一项所述的数据处理方法,其特征在于,所述在根据ETL处理日志确定所述ETL作业失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出所述目标数据,并对所述目标数据进行清理,包括:
遍历ETL处理日志,若所述ETL处理日志中作业状态标识指示所述ETL作业执行失败时,从所述ETL处理日志中获取所述标记信息;
将与获取到的所述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据并清理。
5.根据权利要求3所述的数据处理方法,其特征在于,针对产生的第二数据设置所述第一标记信息,包括:
在所述第二数据中增加一列以存储所述第一标记信息;
针对产生的第二数据设置所述第二标记信息,包括:
在所述第二数据中增加一列以存储所述第二标记信息;
用于存储所述第一标记信息的列和用于存储所述第二标记信息的列为相同的列或为不同的列。
6.一种数据处理装置,其特征在于,应用于ETL处理工具,包括:
调度单元,用于调度对待处理数据进行ETL处理的ETL作业;
执行单元,用于执行所述ETL作业,得到目标数据并存储至数据仓库,其中,所述目标数据包括采用所述ETL作业对所述待处理数据进行ETL处理后得到的第一数据和用于唯一标识所述第一数据的标记信息;
清理单元,用于在根据ETL处理日志确定所述ETL作业失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出所述目标数据,并对所述目标数据进行清理。
7.根据权利要求6所述的数据处理装置,其特征在于,
所述ETL作业包括n个ETL任务,所述n为大于等于1的整数,当n大于1时,n个ETL任务之间存在任务执行的逻辑关系;
所述标记信息包括第一标记信息,所述第一标记信息包括所述调度对待处理数据进行ETL处理的ETL作业的调度ID和所述ETL作业的作业ID;
所述执行所述ETL作业,得到目标数据时,所述执行单元用于:
根据所述ETL作业中各ETL任务之间的逻辑关系,执行所述ETL作业中的各ETL任务,当所述ETL作业中的第m个ETL任务执行完成后,针对产生的第二数据设置所述第一标记信息,将所述第二数据和所述第一标记信息作为执行第m+1个ETL任务的输入数据;
针对所述输入数据中的第二数据执行所述第m+1个ETL任务,并将执行第m+1个ETL任务产生的第二数据和所述第一标记信息作为执行第m+2个ETL任务的输入数据,直至执行完第n个ETL任务后,将执行所述第n个ETL任务产生的第二数据作为所述目标数据的第一数据。
8.根据权利要求7所述的数据处理装置,其特征在于,所述标记信息还包括第二标记信息,所述第二标记信息包括ETL任务的任务ID;
所述执行所述ETL作业,得到目标数据时,所述执行单元还用于:
在所述ETL作业中每个ETL任务执行完成后,针对产生的第二数据设置对应的第二标记信息,其中,在第m个ETL任务对应的第二标记信息中增加第m+1个ETL任务的任务ID,得到第m+1个任务对应的第二标记信息。
9.根据权利要求6-8任一项所述的数据处理装置,其特征在于,所述在根据ETL处理日志确定所述ETL作业失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出所述目标数据,并对所述目标数据进行清理时,所述清理单元用于:
遍历ETL处理日志,若所述ETL处理日志中作业状态标识指示所述ETL作业执行失败时,从所述ETL处理日志中获取所述标记信息;
将与获取到的所述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据并清理。
10.根据权利要求8所述的数据处理装置,其特征在于,针对产生的第二数据设置所述第一标记信息时,所述执行单元用于:
在所述第二数据中增加一列以存储所述第一标记信息;
针对产生的第二数据设置所述第二标记信息时,所述执行单元用于:
在所述第二数据中增加一列以存储所述第二标记信息;
用于存储所述第一标记信息的列和用于存储所述第二标记信息的列为相同的列或为不同的列。
11.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至5任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810824834.2A CN109241042B (zh) | 2018-07-24 | 2018-07-24 | 数据处理方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810824834.2A CN109241042B (zh) | 2018-07-24 | 2018-07-24 | 数据处理方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109241042A CN109241042A (zh) | 2019-01-18 |
CN109241042B true CN109241042B (zh) | 2020-12-08 |
Family
ID=65072289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810824834.2A Active CN109241042B (zh) | 2018-07-24 | 2018-07-24 | 数据处理方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109241042B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110096521A (zh) * | 2019-04-29 | 2019-08-06 | 顶象科技有限公司 | 日志信息处理方法及装置 |
CN112199423A (zh) * | 2020-09-01 | 2021-01-08 | 河钢数字技术股份有限公司 | 一种etl数据质量判定与反馈方法 |
CN112214454B (zh) * | 2020-12-02 | 2021-02-26 | 长沙树根互联技术有限公司 | 数据处理方法、etl系统、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731791A (zh) * | 2013-12-18 | 2015-06-24 | 东阳艾维德广告传媒有限公司 | 一种市场销售分析数据集市系统 |
CN106951315A (zh) * | 2017-03-17 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 一种基于etl的数据任务调度方法及系统 |
CN107025224A (zh) * | 2016-01-29 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种监控任务运行的方法和设备 |
CN107247652A (zh) * | 2017-05-23 | 2017-10-13 | 北京拓尔思信息技术股份有限公司 | 一种etl作业的监控方法和系统 |
CN108280084A (zh) * | 2017-01-06 | 2018-07-13 | 上海前隆信息科技有限公司 | 一种数据仓库的构建方法、系统及服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639652B2 (en) * | 2005-12-14 | 2014-01-28 | SAP France S.A. | Apparatus and method for creating portable ETL jobs |
GB2521198A (en) * | 2013-12-13 | 2015-06-17 | Ibm | Refactoring of databases to include soft type information |
-
2018
- 2018-07-24 CN CN201810824834.2A patent/CN109241042B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731791A (zh) * | 2013-12-18 | 2015-06-24 | 东阳艾维德广告传媒有限公司 | 一种市场销售分析数据集市系统 |
CN107025224A (zh) * | 2016-01-29 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种监控任务运行的方法和设备 |
CN108280084A (zh) * | 2017-01-06 | 2018-07-13 | 上海前隆信息科技有限公司 | 一种数据仓库的构建方法、系统及服务器 |
CN106951315A (zh) * | 2017-03-17 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 一种基于etl的数据任务调度方法及系统 |
CN107247652A (zh) * | 2017-05-23 | 2017-10-13 | 北京拓尔思信息技术股份有限公司 | 一种etl作业的监控方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109241042A (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107870845B (zh) | 面向微服务架构应用的管理方法及系统 | |
CN109241042B (zh) | 数据处理方法、装置以及电子设备 | |
CN111639066A (zh) | 一种数据清洗的方法和装置 | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
CN109298924B (zh) | 定时任务的管理方法、计算机可读存储介质和终端设备 | |
CN110647562B (zh) | 一种数据查询方法和装置、电子设备、存储介质 | |
CN113760476A (zh) | 任务依赖处理方法及相关装置 | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
WO2018066661A1 (ja) | ログ分析方法、システムおよび記録媒体 | |
JPWO2018109825A1 (ja) | バージョン管理システムおよびバージョン管理方法 | |
CN114385188A (zh) | 一种代码工作量统计方法、装置和电子设备 | |
CN111078510A (zh) | 一种任务处理进度的记录方法及装置 | |
CN112732710A (zh) | 数据处理方法、装置以及电子设备 | |
CN114168275B (zh) | 任务调度方法、系统、终端设备及存储介质 | |
KR101609915B1 (ko) | 다차원 시간차 분석 방법 및 장치 | |
JP6665576B2 (ja) | 支援装置、支援方法及びプログラム | |
CN114611039A (zh) | 异步加载规则的解析方法、装置、存储介质和电子设备 | |
CN111159006B (zh) | 一种自动化测试方法及装置 | |
CN112612597A (zh) | 一种生成线性任务队列方法及装置 | |
CN106681785B (zh) | 一种软件生成方法和装置 | |
CN112015799B (zh) | Etl任务执行方法、装置、计算机设备及存储介质 | |
CN110990475B (zh) | 批量任务插入方法、装置、计算机设备及存储介质 | |
JP6869453B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
CN113950699A (zh) | 用于减少非期望行为的过程的影响分析 | |
CN114564291A (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 | ||
GR01 | Patent grant |