CN112199423A - 一种etl数据质量判定与反馈方法 - Google Patents
一种etl数据质量判定与反馈方法 Download PDFInfo
- Publication number
- CN112199423A CN112199423A CN202010905210.0A CN202010905210A CN112199423A CN 112199423 A CN112199423 A CN 112199423A CN 202010905210 A CN202010905210 A CN 202010905210A CN 112199423 A CN112199423 A CN 112199423A
- Authority
- CN
- China
- Prior art keywords
- data
- etl
- processing
- task
- information
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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
- G06F16/2462—Approximate or statistical 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/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种ETL数据质量判定与反馈方法,该方法包括:获取ETL数据处理过程的判定指标,根据所述判定指标的结果值和预设期望值的比较结果确定对所述ETL数据处理过程的质量判定结果,并在根据ETL处理日志确定所述ETL任务失败时,根据所述ETL处理日志和目标数据中携带的标记信息从所述数据仓库中确定出所述脏数据,并对所述脏数据进行清理,从而进一步提高了对ETL数据质量判定的准确性,并通过质量判定结果进行反馈,及时发现ETL处理过程中的问题,保证了输出数据的准确性。
Description
技术领域
本申请涉及ETL管理领域,更具体地,涉及一种ETL数据质量判定与反馈方法。
背景技术
目前行业积累了大量数据,数据的容量、种类和变化都在急剧增加,但大数据尚未充分利用,其中蕴藏的巨大价值有待挖掘。大数据往往具有多源异构特性,来自不同的、分散的业务系统,存在结构化数据、半结构化数据、非结构化数据等多种类型,难以抽取并转换成所需的数据。在大数据环境下,数据呈现出大容量、多样式、交互频繁等特征,随着采集数据的不断增加,数据处理逻辑逐渐复杂,并且面临着海量多源异构数据在不同数据库之间传输效率问题。
数据通常存在于数据库、文件、流量日志等存储媒介中,通过抽取-转换-装载(Extract-Transform-Load,简称ETL)处理工具可以将分散的数据采集到数据仓库中或者数据管理平台中。
目前对ETL系统的数据处理进行监控的技术方案中,ETL处理的过程通常遵循以下顺序:数据抽取—>数据清洗—>数据转换—>数据装载—>数据实事表—>……—>报表输出/回流业务前台。可以看出,这个过程中的每一个数据处理过程的输出就是后一个数据处理过程的输入,因此只要其中的任一个过程出错,就会将错误层层传递,从而影响ETL的质量。然而,ETL建设过程通常是一个循序渐近的过程,历时时间比较长,而且这中间历经业务的反复变化、ETL开发人员的轮换等,如果要review整个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任务的调度ID和所述ETL任务的任务ID。
优选的,在同步源数据至所述数据仓库之前,还包括:
接收用户设置的ETL处理规则,根据所述ETL处理规则对所述待处理数据进行相应的ETL处理,所述ETL处理规则包括根据预设的结构化查询语言SQL的处理标准设置的ETL处理规则。
优选的,同步源数据至所述数据仓库,具体为:
依据数据源的类型同步源数据,所述数据源包括数据源名称、数据源类型和数据源中数据表的访问方式。
优选的,在将与获取到的所述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据之后,所述方法还包括:
基于可视化预警报表对所述脏数据进行可视化,突出显示异常的数据库表。
与现有技术对比,本发明具备以下有益效果:
本发明公开了一种ETL数据质量判定与反馈方法,调度对待处理数据进行ETL处理的ETL任务,并解析获取所述ETL任务所指示出的输出数据表的标识信息;通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标,所述判定指标指示按照指定方式对所述ETL数据处理过程的输出数据中的指定字段进行统计或运算;执行所述ETL任务,得到目标数据并存储至数据仓库,其中,所述目标数据包括采用所述ETL任务对所述待处理数据进行ETL处理后得到的第一数据和用于唯一标识所述第一数据的标记信息;根据所述判定指标的结果值和预设期望值的比较结果确定对所述ETL数据处理过程的质量判定结果;在根据ETL处理日志确定所述ETL任务失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出所述脏数据,并对所述脏数据进行清理,从而进一步提高了对ETL数据质量判定的准确性,并通过质量判定结果进行反馈,及时发现ETL处理过程中的问题,保证了输出数据的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种ETL数据质量判定与反馈方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如背景技术所述,由于数据源复杂等问题导致在数据处理的理解或错误原因的分析上存在差异,影响了对ETL系统质量的判断的准确性。
为解决上述问题,本申请实施例提出了一种ETL数据质量判定与反馈方法,通过获取ETL数据处理过程的判定指标,根据所述判定指标的结果值和预设期望值的比较结果确定对所述ETL数据处理过程的质量判定结果,并在根据ETL处理日志确定所述ETL任务失败时,根据所述ETL处理日志和目标数据中携带的标记信息从所述数据仓库中确定出所述脏数据,并对所述脏数据进行清理,从而进一步提高了对ETL数据质量判定的准确性,并通过质量判定结果反馈,及时发现ETL处理过程中的问题,保证了输出数据的准确性。
如图1所示为本申请实施例中一种ETL数据质量判定与反馈方法的流程示意图,包括以下步骤:
步骤S101,调度对待处理数据进行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处理,得到相应的中间数据;然后,无论第三子任务是否处理成功,仍会继续采用第四子任务继续对该中间数据进行ETL处理,得到任务二处理完成后的数据,并存储至数据仓库。然而,由于任务二过程中的某个ETL任务(第三子任务)的处理过程是失败的,那么,此次调度任务二进行ETL处理得到的存储至数据仓库的数据是脏数据。
进一步的,本发明实施例中,不同ETL任务所包含的各ETL子任务可以不同,各ETL子任务之间的处理逻辑关系也可以不同。
例如,假设第一子任务包括第一子任务1和第一子任务2,第一子任务1和第一子任务2是串行设计的,需要先执行第一子任务1,再执行第一子任务2(即第一子任务1和第一子任务2之间是相关联的)。
又例如,假设第二子任务包括第二子任务1和第二子任务2,而第二子任务1和第二子任务2是并行设计的,即在执行第二子任务1的同时,还可以执行第二子任务2(即第二子任务1和第二子任务2之间是相互独立的)。
对于基于oracle(oracle是一种数据库系统)的数据处理过程,其数据处理任务通常存在于procedure(过程)代码中,获得该procedure代码后,可以利用编译原理的词法分析和语法分析进行代码解析。目前有许多词法分析和语法分析的软件工具可支持对procedure代码的解析,比如基于C语言的lex和yacc,基于java的javacc和antlr等。本流程中选用javacc,其过程可以包括:
编写针对plsql(PL/SQL是ORACLE对标准数据库语言的扩展)的Grammar(语法)文件PLSql.jjt;
利用JJTree(jjTree可以看成是JavaCC的预处理程序)编译PLSql.jjt文件生成PLSql.jj;
利用javacc编译PLSql.jj文件生成解析的Java类生成可运行的二进制文件;
利用javac编译所有生成的java类生成class(类)文件,该class文件将用于procedure代码的解析。
运行解析程序,利用生成的class文件解析指定的procedure代码,解析出数据处理任务所指定的input表(即输入数据表)和output表(即输出数据表)的描述信息(如表标识或表名称),并通过查询oracle的meta信息(即元数据信息)获取input表和output表的字段描述信息(如字段名称和字段的数据类型),从而获取所述ETL任务所指示出的输出数据表的标识信息。
为了获取准确的待处理数据,在本申请优选的实施例中,在调度对待处理数据进行ETL处理的ETL任务之前,所述方法还包括:
同步源数据至所述数据仓库并设置预警阈值,当所述源数据在所述预警阈值内时,对所述源数据进行标准化处理得到标准化源数据;
对所述标准化源数据进行元数据管理,通过元数据将海量报表中的目标表、目标字段进行业务描述得到第二数据;
根据预设业务规则和预设数据标准从所述第二数据中提取所述待处理数据。
具体的,例如当爬虫系统异常时,根据业务人员制定的数据量标准,如低于某个最小值,系统根据条件再决定是否进行下一步;同步源数据至数据仓库并对源数据标准化处理。
在海量报表中查询某些表或者相关字段,由于开发人员没有维护好元数据,导致数据使用人员难以发现自己业务对应相关数据表,及相关字段的含义;对此在本预警系统中,对各模块相关元数据的统计可视化,例如把业务系统中各库通过元数据统计出哪些表、哪些字段是没有业务描述的,通过监控预警可视化促进开发和业务相关人员完善这些数据指标,使数据更易读易懂。
为准确将同步源数据至所述数据仓库,在本申请优选的实施例中,同步源数据至所述数据仓库,具体为:
依据数据源的类型同步源数据,所述数据源包括数据源名称、数据源类型和数据源中数据表的访问方式。
为了根据用户的要求进行ETL处理,在本申请优选的实施例中,在同步源数据至所述数据仓库之前,还包括:
接收用户设置的ETL处理规则,根据所述ETL处理规则对所述待处理数据进行相应的ETL处理,所述ETL处理规则包括根据预设的结构化查询语言SQL的处理标准设置的ETL处理规则。
步骤S102,通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标。
本步骤中,所述判定指标指示按照指定方式对所述ETL数据处理过程的输出数据中的指定字段进行统计或运算,根据解析出的输出数据表以及输出数据表的字段的数据类型确定判定指标。如对于output表所生成的判定指标可以包括output表的数据记录数量,对于具有总量统计意义的数值型字段求和,对于具有平均值统计意义的数值型字段求平均值。其中,对于哪些类型字段属于具有总量统计意义的字段,哪些类型字段属于具有平均值统计意义的字段,可以预先进行定义。例如,对于名称为“销售量”或“销售额”等的字段,可以统计其总量,对于名称为“温度”或“气温”等的字段,可以统计其平均值。
为了确定准确的判定指标,在本申请优选的实施例中,通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标,包括以下之一或任意组合:
针对具有总量统计意义的数值型字段,将所述ETL数据处理过程的输出数据中该字段的数值进行累加;
针对具有平均值统计意义的数值型字段,将所述ETL数据处理过程的输出数据中该字段的数值求平均值。
需要说明的是,以上优选实施例的方案仅为本申请所提出的一种具体实现方案,其他通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标的方式均属于本申请的保护范围。
步骤S103,执行所述ETL任务,得到目标数据并存储至数据仓库,其中,所述目标数据包括采用所述ETL任务对所述待处理数据进行ETL处理后得到的第一数据和用于唯一标识所述第一数据的标记信息。
具体的,本发明实施例中,在对待处理数据执行完此次调度的ETL任务时,得到携带有采用此次调度的ETL任务对待处理数据进行ETL处理后得到的第一数据和用于唯一标识该第一数据的标记信息的目标数据。也就是说,一个标记信息用于标识一个目标数据具体是由哪次调度,具体调度哪个ETL任务对待处理数据进行ETL处理后得到并存储至数据仓库中的。
为了准确对第一数据进行标记,在本申请优选的实施例中,所述标记信息包括所述调度对待处理数据进行ETL处理的ETL任务的调度ID和所述ETL任务的任务ID。
本发明实施例中,目标数据的标记信息可以仅包括第一标记信息(即调度ID和任务ID),也可以在包括第一标记信息的基础上,还包括第二标记信息(即子任务ID)。
进一步的,本发明实施例中,上述针对产生的第二数据设置第一标记信息的步骤包括:在第二数据中增加一列以存储第一标记信息;上述针对产生的第二数据设置第二标记信息的步骤包括:在第二数据中增加一列以存储第二标记信息,其中,用于存储所述第一标记信息的列和用于存储所述第二标记信息的列为相同的列或为不同的列。
步骤S104,根据所述判定指标的结果值和预设期望值的比较结果确定对所述ETL数据处理过程的质量判定结果。
本步骤中可以将判定指标的结果值以报表形式输出作为质量判定结果,还可以根据预先设置的质量评价策略,将判定指标的结果值与期望的结果值进行比较,从而对数据处理质量进行评价,并将评价结果显示在输出的报表中。ETL系统对数据的处理需要满足期望的结果值,若判定指标的结果值与期望的结果值不符,则说明ETL系统的业务逻辑有问题,需要做进一步的修正。
步骤S105,在根据ETL处理日志确定所述ETL任务失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出脏数据,并对所述脏数据进行清理。
为了准确对脏数据进行处理,在本申请优选的实施例中,所述在根据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))的目标数据确定为脏数据,并删除确定出的脏数据。
为了便于用户查看脏数据,在本申请优选实施例中,在将与获取到的所述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据之后,所述方法还包括:
基于可视化预警报表对所述脏数据进行可视化,突出显示异常的数据库表。
对各业务数据进行分类展示,对异常指标增加警戒线的特别提醒,例如当统计元数据字段描述此指标时,认为当没有字段描述的量达到百分之三十时认为这里的数据可读性就很差,此时特别提醒,开发人员根据日志数据去完善这些数据指标。
通过应用以上技术方案,调度对待处理数据进行ETL处理的ETL任务,并解析获取所述ETL任务所指示出的输出数据表的标识信息;通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标,所述判定指标指示按照指定方式对所述ETL数据处理过程的输出数据中的指定字段进行统计或运算;执行所述ETL任务,得到目标数据并存储至数据仓库,其中,所述目标数据包括采用所述ETL任务对所述待处理数据进行ETL处理后得到的第一数据和用于唯一标识所述第一数据的标记信息;根据所述判定指标的结果值和预设期望值的比较结果确定对所述ETL数据处理过程的质量判定结果;在根据ETL处理日志确定所述ETL任务失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出所述脏数据,并对所述脏数据进行清理,从而进一步提高了对ETL数据质量判定的准确性,并通过质量判定结果进行反馈,及时发现ETL处理过程中的问题,保证了输出数据的准确性。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种ETL数据质量判定与反馈方法,其特征在于,所述方法包括:
调度对待处理数据进行ETL处理的ETL任务,并解析获取所述ETL任务所指示出的输出数据表的标识信息;
通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标,所述判定指标指示按照指定方式对所述ETL数据处理过程的输出数据中的指定字段进行统计或运算;
执行所述ETL任务,得到目标数据并存储至数据仓库,其中,所述目标数据包括采用所述ETL任务对所述待处理数据进行ETL处理后得到的第一数据和用于唯一标识所述第一数据的标记信息;
根据所述判定指标的结果值和预设期望值的比较结果确定对所述ETL数据处理过程的质量判定结果;
在根据ETL处理日志确定所述ETL任务失败时,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出脏数据,并对所述脏数据进行清理。
2.如权利要求1所述的方法,其特征在于,在调度对待处理数据进行ETL处理的ETL任务之前,所述方法还包括:
同步源数据至所述数据仓库并设置预警阈值,当所述源数据在所述预警阈值内时,对所述源数据进行标准化处理得到标准化源数据;
对所述标准化源数据进行元数据管理,通过元数据将海量报表中的目标表、目标字段进行业务描述得到第二数据;
根据预设业务规则和预设数据标准从所述第二数据中提取所述待处理数据。
3.如权利要求1所述的方法,其特征在于,通过查询用于描述该标识信息所对应的输出数据表的元数据信息获取ETL数据处理过程的判定指标,包括以下之一或任意组合:
针对具有总量统计意义的数值型字段,将所述ETL数据处理过程的输出数据中该字段的数值进行累加;
针对具有平均值统计意义的数值型字段,将所述ETL数据处理过程的输出数据中该字段的数值求平均值。
4.如权利要求1所述的方法,其特征在于,根据所述ETL处理日志和所述标记信息从所述数据仓库中确定出脏数据,并对所述脏数据进行清理,具体为:
遍历ETL处理日志,若所述ETL处理日志中任务状态标识指示所述ETL任务执行失败时,从所述ETL处理日志中获取所述标记信息;
将与获取到的所述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据并清理。
5.如权利要求1所述的方法,其特征在于,所述标记信息包括所述调度对待处理数据进行ETL处理的ETL任务的调度ID和所述ETL任务的任务ID。
6.如权利要求2所述的方法,其特征在于,在同步源数据至所述数据仓库之前,还包括:
接收用户设置的ETL处理规则,根据所述ETL处理规则对所述待处理数据进行相应的ETL处理,所述ETL处理规则包括根据预设的结构化查询语言SQL的处理标准设置的ETL处理规则。
7.如权利要求2所述的方法,其特征在于,同步源数据至所述数据仓库,具体为:
依据数据源的类型同步源数据,所述数据源包括数据源名称、数据源类型和数据源中数据表的访问方式。
8.如权利要求4所述的方法,其特征在于,在将与获取到的所述标记信息相匹配的数据仓库中的标记信息对应的目标数据确定为脏数据之后,所述方法还包括:
基于可视化预警报表对所述脏数据进行可视化,突出显示异常的数据库表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010905210.0A CN112199423A (zh) | 2020-09-01 | 2020-09-01 | 一种etl数据质量判定与反馈方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010905210.0A CN112199423A (zh) | 2020-09-01 | 2020-09-01 | 一种etl数据质量判定与反馈方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112199423A true CN112199423A (zh) | 2021-01-08 |
Family
ID=74005151
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010905210.0A Pending CN112199423A (zh) | 2020-09-01 | 2020-09-01 | 一种etl数据质量判定与反馈方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112199423A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860706A (zh) * | 2021-03-11 | 2021-05-28 | 深圳鼎盛电脑科技有限公司 | 一种业务的处理方法、装置、设备及存储介质 |
CN113377758A (zh) * | 2021-06-30 | 2021-09-10 | 数字郑州科技有限公司 | 一种数据质量稽核引擎及其稽核方法 |
CN114840599A (zh) * | 2022-07-05 | 2022-08-02 | 杭州广立微电子股份有限公司 | 半导体源数据解析方法、etl系统、计算机设备和产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117306A (zh) * | 2010-01-04 | 2011-07-06 | 阿里巴巴集团控股有限公司 | Etl数据处理过程的监控方法及其系统 |
CN107463709A (zh) * | 2017-08-21 | 2017-12-12 | 北京奇艺世纪科技有限公司 | 一种基于多数据源的etl处理方法及装置 |
CN108038248A (zh) * | 2017-12-28 | 2018-05-15 | 携程计算机技术(上海)有限公司 | Etl依赖自动识别方法与系统 |
CN109241042A (zh) * | 2018-07-24 | 2019-01-18 | 新华三大数据技术有限公司 | 数据处理方法、装置以及电子设备 |
CN111159272A (zh) * | 2019-12-31 | 2020-05-15 | 青梧桐有限责任公司 | 基于数据仓库及etl的数据质量监控及预警方法和系统 |
CN111159161A (zh) * | 2019-12-31 | 2020-05-15 | 青梧桐有限责任公司 | 基于etl规则的数据质量监控及预警系统和方法 |
-
2020
- 2020-09-01 CN CN202010905210.0A patent/CN112199423A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117306A (zh) * | 2010-01-04 | 2011-07-06 | 阿里巴巴集团控股有限公司 | Etl数据处理过程的监控方法及其系统 |
CN107463709A (zh) * | 2017-08-21 | 2017-12-12 | 北京奇艺世纪科技有限公司 | 一种基于多数据源的etl处理方法及装置 |
CN108038248A (zh) * | 2017-12-28 | 2018-05-15 | 携程计算机技术(上海)有限公司 | Etl依赖自动识别方法与系统 |
CN109241042A (zh) * | 2018-07-24 | 2019-01-18 | 新华三大数据技术有限公司 | 数据处理方法、装置以及电子设备 |
CN111159272A (zh) * | 2019-12-31 | 2020-05-15 | 青梧桐有限责任公司 | 基于数据仓库及etl的数据质量监控及预警方法和系统 |
CN111159161A (zh) * | 2019-12-31 | 2020-05-15 | 青梧桐有限责任公司 | 基于etl规则的数据质量监控及预警系统和方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112860706A (zh) * | 2021-03-11 | 2021-05-28 | 深圳鼎盛电脑科技有限公司 | 一种业务的处理方法、装置、设备及存储介质 |
CN113377758A (zh) * | 2021-06-30 | 2021-09-10 | 数字郑州科技有限公司 | 一种数据质量稽核引擎及其稽核方法 |
CN114840599A (zh) * | 2022-07-05 | 2022-08-02 | 杭州广立微电子股份有限公司 | 半导体源数据解析方法、etl系统、计算机设备和产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199423A (zh) | 一种etl数据质量判定与反馈方法 | |
US10169377B2 (en) | Managing a database management system using a set of stream computing data | |
US8938421B2 (en) | Method and a system for synchronizing data | |
Vera-Baquero et al. | Business process analytics using a big data approach | |
US7886028B2 (en) | Method and system for system migration | |
US10049136B1 (en) | Managing a stream computing environment using a projected database object | |
US10169191B2 (en) | Warning data management with respect to a development phase | |
US10671627B2 (en) | Processing a data set | |
KR20080002941A (ko) | 적응형 데이터 크리닝 프로세스 및 시스템 | |
US9311175B2 (en) | Method and system for processing log information | |
US7681195B2 (en) | System, method, and service for efficient allocation of computing resources among users | |
US10977017B2 (en) | Warning data management for distributed application development | |
CN114398442B (zh) | 一种基于数据驱动的情报处理系统 | |
US20050165809A1 (en) | Technique for improving staff queries in a workflow management system | |
CN111723091B (zh) | 基于Oracle数据库的索引处理方法、系统、设备和存储介质 | |
CN114416703A (zh) | 数据完整性自动监控方法、装置、设备及介质 | |
CN116302829A (zh) | 数据监控方法、装置、设备及存储介质 | |
CN110825725B (zh) | 基于双螺旋管理的数据质量校验方法及系统 | |
CN107291938A (zh) | 订单查询系统及方法 | |
CN113052700B (zh) | 一种确定微服务调用链的方法及装置 | |
CN111753511B (zh) | 用于融合不同工业资产事件信息的方法和系统 | |
US8631391B2 (en) | Method and a system for process discovery | |
CN114564954B (zh) | 一种维护指标唯一性的指标管理方法及系统 | |
Rozsnyai et al. | Automated correlation discovery for semi-structured business processes | |
CN117591508B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210108 |