CN110347741A - 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 - Google Patents
大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 Download PDFInfo
- Publication number
- CN110347741A CN110347741A CN201910649913.9A CN201910649913A CN110347741A CN 110347741 A CN110347741 A CN 110347741A CN 201910649913 A CN201910649913 A CN 201910649913A CN 110347741 A CN110347741 A CN 110347741A
- Authority
- CN
- China
- Prior art keywords
- data
- quality
- big data
- tool
- big
- 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
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/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06395—Quality analysis or management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Game Theory and Decision Science (AREA)
- Stored Programmes (AREA)
- General Factory Administration (AREA)
Abstract
本发明涉及一种大数据处理过程中有效提升输出成果数据质量的系统,包括大数据处理工具,用于实现调用外部工具或系统接口的功能;数据质量工具,通过对外接口实现与大数据处理工具间的相互调用;工单子系统,与所述的大数据处理工具相连接,用于启动在线数据问题工作单。本发明还涉及一种实现大数据处理过程中有效提升输出成果数据质量的控制方法。采用了本发明的大数据处理过程中有效提升输出成果数据质量的系统及实现大数据处理过程中有效提升输出成果数据质量的控制方法,优化了ETL过程中的数据质量管控流程,避免数据质量问题不受控的传递到用户端,导致大数据系统项目的失败。本发明通过在线方式对数据责任人提出数据问题整改要求,从源头解决数据质量问题,从而提升企业数据的标准化水平。
Description
技术领域
本发明涉及计算机软件领域,尤其涉及大数据或数据仓库的数据加工处理领域,具体是指一种大数据处理过程中有效提升输出成果数据质量的系统及实现大数据处理过程中有效提升输出成果数据质量的控制方法。
背景技术
随着大数据时代的到来,数据越来越呈现出海量、多样、复杂、实时等特征,用户决策与商业运营也越来越依赖数据,错误的数据会给业务分析和商业决策带来较大麻烦,因此数据质量和数据标准化显得越发重要。我们知道数据质量是基石,数据分析和数据应用是上层建筑,基础不稳会严重影响上层应用。2017年,Gartner估算约80%的大数据项目是失败的,这其中数据质量不佳、数据标准化不够是重要原因之一。
在大数据加工处理的过程中,ETL仍然是最重要的手段和工具,据统计在大数据系统建设过程中,约有70%的工作量发生在ETL过程中。说明书附图1是一个采用ETL工具进行数据加工处理的简单示例。
实际情况下,大部分的ETL过程都比上述例子要复杂的多。由于ETL过程工作量大,过程复杂,容易引入各种各样的数据质量问题,例如数据转换过程中丢失部分数据或者数据关联导致数据虚增;另外一个常常出现数据质量问题的地方是数据源,一旦数据源头出了问题,如数据缺失、字段不规范、数据错误等,也会影响最终分析结果。
由于现有的ETL工具在数据质量检测、管控、纠错等方面先天存在不足,在数据源或中间过程出错的情况下往往导致最终分析结果与结论出现偏差,严重影响使用人员的决策,如何强化ETL过程中的质量管控已经成为一个亟待解决的问题。
我们知道目前用于实现ETL过程有两种方式:
方式1:利用产品化的工具。主流工具有目前市场上主流的ETL工具有开源的Kettle,IBM公司的DataStage、Informatica公司的Powercenter等等,这些工具都含了任务调度模块。
方式2:开发人员利用SQL/PLSQL、HQL等开发SQL脚本,从而实现ETL过程,但是同样需要一个调度工具进行作业调度。例如Hadoop往往采用Hive组件提供的HQL(类似传统数据库的SQL)进行开发,采用Oozie作业流调度组件进行作业调度
不管是上述的两种方式的任何一种,在数据加工处理过程中,都缺乏对数据质量的检测和管控。在实际的项目实施过程中,也有大量用户希望能在数据加工处理同时确保数据质量,提升输出结果的可靠性。
通过对数据问题的归纳总结,我们可以将数据质量问题分为6大类:及时性、完整性、规范性、一致性、准确性、唯一性。
准确性问题和一致性问题往往是在ETL过程中新引入的,这类问题通过上线前测试验证,可以避免大部分开发所导致的数据质量问题;而及时性、完整性、规范性等问题常常是在源头就产生了,源头一旦有问题,加工处理后也一定会有问题。
从目前的解决方案来说,只有少量厂商开发了专业的数据质量检测工具,检测并处理相关数据质量问题,例如IBM公司和Informatica公司分别独立出ETL产品之外,开发了专门的数据质量管理产品,IBM公司的是ProfileStage和QualityStage,Informatica公司的是FirstLogic,其他就基本没有较为有名的数据质量工具
目前数据质量的通用流程如说明书附图2所示。
通用的数据质量管控流程包含如下主要步骤:(1)配置需要进行数据质量检测的数据源,确保能获取到数据与数据结构(2)针对每个数据表,制定并录入检测规则(3)依照检测规则,配置运行时间与运行参数,生成检测脚本(4)调度工具依照脚本的运行周期,定时调度脚本进行数据表的质量检测(5)输出存在问题的数据记录,并保存在该表对应的错误数据表内(6)生成数据问题报告并展示。
现有的ETL工具和数据质量工具是两个独立的产品,在处理数据时也是并行的两条线,另外有不少的ETL工具根本就没有数据质量工具进行配合,也缺乏数据质量管控机制。
ETL工具能较好的完成绝大多数的数据加工处理工作,但是数据质量管控能力不足,不可避免的在源数据出现错误的情况下,将数据错误依次向后传导,在使用端造成较为负面的影响。以kettle为例,能实现数据质量检测和纠错的组件只有如下组件:(1)去除重复记录(2)过滤记录,可以按照条件过滤掉脏数据(3)根据java代码过滤记录。这些组件仅仅是针对部分规范性、一致性问题,对于其他类型的数据质量问题无能为力。
数据质量工具进行能够进行相对全面的数据质量检测和数据规范性工作,但也存在如下缺点:(1)数据质量工具的调度和ETL工具的调度是相互独立的,当数据质量工具发现数据质量问题时,无法中断ETL调度过程,导致运维人员往往发现问题时,数据错误已经传递前端应用,造成不可挽回的影响。(2)缺乏检测到数据问题后的处理机制,如自动纠错机制,自动纠错机制是指检测到的错误数据能依照清洗或纠错规则进行数据清洗或纠错。(3)缺乏在线问题处理机制,如自动生成数据问题工作单,通知被检测数据的负责人,负责人从源头解决数据质量问题。
需要注意的是,数据清洗只能部分解决问题,要根本性的解决问题,还是需要从源头提升数据标准化程度和质量水平,这也是提出数据认责制度和在线数据问题处理流程的原因。
数据质量问题是大数据处理(ETL)过程中最头痛的问题之一,目前市场上主流的ETL工具主要用途在于数据的加工处理,在数据质量检测与管控方面的功能较弱;与此同时市场上主要的数据质量工具能实现数据质量检测,但产品封闭无对外接口,不能与ETL工具互相调用。
因此我们需要设计一种能够有效协同ETL工具、数据质量工具、在线问题处理的方法和流程,在ETL过程中通过同步调用数据质量工具的检核规则和检核任务,在出现数据错误的情况下及时介入和干预,避免问题向后传递,从而有效提升输出成果的数据质量,支撑前端分析与决策。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种满足效率高、同步性好、纠错率高的大数据处理过程中有效提升输出成果数据质量的系统及实现大数据处理过程中有效提升输出成果数据质量的控制方法。
为了实现上述目的,本发明的大数据处理过程中有效提升输出成果数据质量的系统,其主要特点是,所述的系统包括:
大数据处理工具,用于实现调用外部工具或系统接口的功能,并进行数据加工处理;
数据质量工具,通过对外接口实现与大数据处理工具间的相互调用,用于进行数据质量检测;
工单子系统,与所述的大数据处理工具相连接,用于启动在线数据问题工作单。
较佳地,所述的数据质量工具包括:
质量规则管理模块,与被检测系统相连接,用于维护被检测数据源的结构信息、检测规则和检测脚本;
调度模块,与所述的质量规则管理模块和被检测系统相连接,用于定时调度或者触发调度检测脚本,并检测脚本的启动和停止管理。
较佳地,所述的质量规则管理模块包含检核执行组件,与所述的调度模块相连接,用于提供多线程的检测脚本运行环境。
较佳地,所述的调度模块包括:
第一实现类对外接口,与质量规则管理模块和被检测系统相连接,用于依照输入参数对应检测脚本的调用;
第二实现类对外接口,与质量规则管理模块和被检测系统相连接,用于提供对外调用接口。
该利用上述系统实现大数据处理过程中有效提升输出成果数据质量的控制方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的数据质量工具配置被检测数据源,并录入检测规则;
(2)所述的系统进行源端数据检核,判断源数据是否通过数据检核,如果是,则继续步骤(4);否则,继续步骤(3);
(3)判断是否有纠错程序,如果是,则所述的大数据处理工具执行纠错程序;否则,继续步骤(6);
(4)所述的大数据处理工具进行数据转换,进行数据关联,并进行数据分组统计;
(5)所述的系统进行呈现端数据检核,判断数据是否通过数据检核,如果是,则所述的大数据处理工具汇总数据写入前端展示表;否则,继续步骤(6);
(6)所述的大数据处理工具发起质量问题工作单,并通知负责人接收工作单进行数据问题处理。
较佳地,所述的步骤(2)具体包括以下步骤:
(2.1)所述的数据质量工具生成检测脚本;
(2.2)所述的数据质量工具调用检测脚本,对源数据的及时性、完整性或规范性进行检查;
(2.3)判断源数据是否通过数据检核,如果是,则继续步骤(4);否则,所述的数据质量工具保存问题数据,继续步骤(3)。
较佳地,所述的步骤(1)还包括以下步骤:
(1.1)所述的大数据处理工具进行数据抽取任务,并继续步骤(2.2)。
较佳地,所述的步骤(5)具体包括以下步骤:
(5.1)所述的数据质量工具调用检测脚本,检查数据的准确性或波动性;
(5.2)判断数据是否通过数据检核,如果是,则所述的大数据处理工具汇总数据写入前端展示表;否则,继续步骤(6)。
采用了本发明的大数据处理过程中有效提升输出成果数据质量的系统及实现大数据处理过程中有效提升输出成果数据质量的控制方法,优化了ETL过程中的数据质量管控流程,避免数据质量问题不受控的传递到用户端,导致大数据系统项目的失败。本发明基于准确数据提升用户的数据分析能力和业务决策水平,提升用户对大数据平台的信心。本发明通过在线方式对数据责任人提出数据问题整改要求,从源头解决数据质量问题,从而提升企业数据的标准化水平。
附图说明
图1为现有技术的采用ETL工具进行数据加工处理的示例图。
图2为现有技术的数据质量的通用流程图。
图3为本发明的实现大数据处理过程中有效提升输出成果数据质量的控制方法的嵌入数据质量监测点后的数据加工处理示意图。
图4为本发明的大数据处理过程中有效提升输出成果数据质量的系统的数据质量工具的技术架构与运行原理图。
图5为本发明的大数据处理过程中有效提升输出成果数据质量的系统及实现大数据处理过程中有效提升输出成果数据质量的控制方法的实施例的业务场景流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该大数据处理过程中有效提升输出成果数据质量的系统,其中包括:
大数据处理工具,用于实现调用外部工具或系统接口的功能,并进行数据加工处理;
数据质量工具,通过对外接口实现与大数据处理工具间的相互调用,用于进行数据质量检测;
工单子系统,与所述的大数据处理工具相连接,用于启动在线数据问题工作单。
作为本发明的优选实施方式,所述的数据质量工具包括:
质量规则管理模块,与被检测系统相连接,用于维护被检测数据源的结构信息、检测规则和检测脚本;
调度模块,与所述的质量规则管理模块和被检测系统相连接,用于定时调度或者触发调度检测脚本,并检测脚本的启动和停止管理。
作为本发明的优选实施方式,所述的质量规则管理模块包含检核执行组件,与所述的调度模块相连接,用于提供多线程的检测脚本运行环境。
作为本发明的优选实施方式,所述的调度模块包括:
第一实现类对外接口,与质量规则管理模块和被检测系统相连接,用于依照输入参数对应检测脚本的调用;
第二实现类对外接口,与质量规则管理模块和被检测系统相连接,用于提供对外调用接口。
本发明的该利用上述系统实现大数据处理过程中有效提升输出成果数据质量的控制方法,其中包括以下步骤:
(1)所述的数据质量工具配置被检测数据源,并录入检测规则;
(1.1)所述的大数据处理工具进行数据抽取任务,并继续步骤(2.2);
(2)所述的系统进行源端数据检核,判断源数据是否通过数据检核,如果是,则继续步骤(4);否则,继续步骤(3);
(2.1)所述的数据质量工具生成检测脚本;
(2.2)所述的数据质量工具调用检测脚本,对源数据的及时性、完整性或规范性进行检查;
(2.3)判断源数据是否通过数据检核,如果是,则继续步骤(4);否则,所述的数据质量工具保存问题数据,继续步骤(3);
(3)判断是否有纠错程序,如果是,则所述的大数据处理工具执行纠错程序;否则,继续步骤(6);
(4)所述的大数据处理工具进行数据转换,进行数据关联,并进行数据分组统计;
(5)所述的系统进行呈现端数据检核,判断数据是否通过数据检核,如果是,则所述的大数据处理工具汇总数据写入前端展示表;否则,继续步骤(6);
(5.1)所述的数据质量工具调用检测脚本,检查数据的准确性或波动性;
(5.2)判断数据是否通过数据检核,如果是,则所述的大数据处理工具汇总数据写入前端展示表;否则,继续步骤(6);
(6)所述的大数据处理工具发起质量问题工作单,并通知负责人接收工作单进行数据问题处理。
本发明的具体实施方式中,本发明在对数据质量工具进行创新性改造的基础上,使其能对外提供API接口,因此可在ETL工具对数据进行加工处理过程中,能调用数据质量工具API接口,实现数据质量检查。当发生数据质量问题时,能调用自动数据清洗纠错脚本或者中断ETL作业通知负责人进行干预与解决,通过对数据质量工具改造和数据质量管控流程,能有效避免大数据处理工程中质量问题向后传导,导致错误数据暴露在用户面前,从而影响业务层面的分析与决策。
本发明思路在于:(1)改造数据质量工具使其能提供对外API接口(2)ETL工具在进行数据加工处理的过程中,调用数据质量工具暴露的接口进行数据质量检查,并从接口反馈状态,判断后续动作。(3)如果数据质量工具返回“通过”,则表明数据质量检测通过,可继续往下执行。如果返回“未通过”,则表示数据质量检测不通过,此时有2种处理方式:方式1是进行数据清洗和纠错后继续向后执行;方式2通知运维人员,对数据质量问题和ETL过程进行干预,从源头解决数据问题。
通过对数据问题的归纳总结,我们可以将数据质量问题分为6大类:及时性、完整性、规范性、一致性、准确性、唯一性。
及时性:指是否能及时获取到所需的源数据;
完整性:主要包括实体不缺失、属性不缺失、记录不缺失和字段值不缺失四个方面;
规范性:主要包括格式、类型和业务规则的有效性;
一致性:指不同数据之间的数据关系是否一致或匹配;
准确性:是数据是否准确,是否在合理范围内;
唯一性:指主键唯一和候选键唯一两个方面。
本发明的权利要求书及说明书中的ETL是指用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,目前更多的泛指将源数据进行提取加工转换直至最终数据展现端的过程,目前仍然是大数据平台或数据仓库中数据加工处理的主要方式。
ETL工具是用于实现ETL过程的产品化工具。
数据质量管理是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一系列管理活动。
数据质量工具是大数据平台或数据仓库中用于进行数据质量检测、数据标准化的工具。
本发明通过设计ETL工具、数据质量工具、在线问题处理流程的有效协同,解决ETL过程中的数据质量控制问题。即是在ETL过程中,能随时调用数据质量工具提供的外部接口,实现数据质量检测在ETL工具中的嵌入,在ETL过程中及时发现数据质量问题,中断ETL任务作业,进行数据清洗或纠错,或者通过数据质量工作单通知负责人及时介入从源头解决数据问题,由此管控好ETL过程中的数据质量,避免数据错误传递到用户端,影响分析与决策强化ETL过程中的质量管控功能。
说明书附图1是一个采用ETL工具进行数据加工处理的简单示例。其中,一个源数据进行抽取后,通过ETL加工任务生成统计指标,写入前端展示表。如果数据源有问题,或者数据加工转换过程出错,数据错误不可避免的传递到使用端。说明书附图2是目前数据质量的通用流程。
说明书附图3则是将两个流程结合起来,并对流程进行优化的流程示意图。附图中增加数据纠错步骤(图中步骤1.6)与在线问题处理流程(图中步骤1.7与步骤1.8),得到如下在ETL过程中嵌入数据质量监测点后的数据加工处理示意图。
如说明书附图3所示,在ETL过程中结合数据质量检测流程,在ETL过程的两个关键环节实现数据质量检查(1)源端数据检核:实现源数据的检查,在步骤1.1和步骤1.2之间,对源数据的及时性、完整性、规范性进行检查(2)呈现端数据检核,在步骤1.4和步骤1.5之间,插入数据质量检核点,主要实现准确性或者波动性检查。插入的2个数据质量检查点希望在一头一尾两个关键环节控制住数据质量,如发生数据质量问题,能及时中断ETL过程,并进行数据纠错或者通过在线工作单方式反馈到相关负责人。中间的数据加工处理任务步骤1.2、步骤1.3、步骤1.4之间,考虑到数据处理效率和性能的问题,尽量不再嵌入数据质量检测点,当然视具体情况而定。
要实现上述流程,有3个关键点需要实现,关键点1:ETL支持调用外部工具或系统接口;关键点2:数据质量工具提供对外接口,能被外部系统调用,关键点3:ETL工具与工单系统(如OA系统)的对接,启动在线数据问题工作单。
至于关键点1、关键点3中涉及到的ETL工具调用外部接口的问题,考虑到主流ETL工具(如开源的Kettle,IBM公司的DataStage、Informatica公司的Powercenter等),均提供能调用外部Webservice接口的组件,所以ETL工具基本无需改造。涉及关键点3的工单/OA系统,需要新配置一类工单类型,有一定的改造量,但实现较为简单。因此改造重点是数据质量工具,其改造技术方案如下:
说明书附图4是数据质量工具的技术架构与运行原理图。
数据质量工具主要包含两大模块:(1)质量规则管理模块,主要用于维护被检测数据源、被检测数据源的结构信息、检测规则、检测脚本等,并包含检核执行组件,提供多线程的检测脚本运行环境(2)调度模块,用于定时调度或者触发调度检测脚本,是检测脚本的启动、停止管理模块
需要改造主要是调度模块,以前这个组件只能在数据质量管理工具内使用,无法对外提供调用。改造方法是新增对外接口的实现类DatacheckImpl、DatacheckInterf:DatacheckImpl用于依照输入参数对应检测脚本的调用,DatacheckInterf提供对外调用接口。依照实现类提供的Webservice服务接口如下:
例如http://x.x.x.x:8080/dataquality/api/datacheck?checkid=job1234
Checkid:为数据质量工具中定义的检核任务,是ETL工具调用外部Webservice的输入参数。
接口调用后的返回参数如下:
<wsdl:output name="plusResponse">
<wsdlsoap:body retcode="1"/>
<wsdlsoap:body retmsg="被检核表username字段空值数据比例为10%,超过预定阈值3%"/>
<wsdlsoap:body Errtab="test_table_ERR_20190605"/>
</wsdl:output>
参数1:retcode,数据质量检测是否通过,0为通过,1为不通过。
参数2:retmsg,数据质量检测说明,主要针对不通过进行简要说明,例如,被检核字段空值数据比例为10%,超过预定阈值3%。
参数3:Errtab,错误数据的输出表,可以采用“原表+ERR+检测时间”的表命名方式。
经过上述改造,ETL工具可通过外部接口调用组件调用数据质量工具的对外提供的接口,并依照返回值确定后续流程。如果数据质量检测返回不通过,则针对错误数据输出表进行数据清洗与纠错,或者通过工单/OA系统发起工作单,通知数据责任人从源头解决数据质量问题。
由于可见,通过ETL工具、数据质量工具、工单/OA系统的协同机制与流程优化,可有效提升数据质量,避免数据错误传导到用户端。
在本发明的具体实施例中以开源ETL工具Kettle为例,结合扩充了外部API接口的数据质量工具来说明具体实施方式,场景是:通过Kettle抽取订单库的每日订单表,按照业务区域统计各区域的每日订单情况。中间对原始的日订单数据量进行完整性检查,判断所有订单是否都写入订单库。另外对统计结果进行检查,判断按照业务区域的统计数据是否在正常波动范围内。
说明书附图5为该业务场景的流程图。
(1)步骤1:使用Kettle的表输入组件进行订单系统订单表的数据抽取,并通过表输出组件将数据保存到大数据平台
(2)步骤2:通过Kettle的外部服务组件(Web服务组件)调用数据质量工具的接口服务进行订单数据的完整性检测,例如日常的用户订单数据通常在1万以上,少于1万判断为订单数据不完整。调用数据质量工具的对外服务地址如下:
http://x.x.x.x:8080/dataquality/api/datacheck?checkid=job1234
url:http://x.x.x.x:8080/dataquality/api/datacheck为数据质量工具提供的对外Webservice接口。
Checkid:为数据质量工具中定义的订单数据检核任务
(3)步骤3:分析数据质量工具进行订单数据完整性检测的返回参数:
参数1:retcode,数据质量检测结果代码,返回0,表示订单数据完整,检测通过,下步执行步骤4;返回1,表示订单数据不完整,检测不通过,下步执行步骤11。
参数2:retmsg,数据质量检测结果说明,主要针对不通过进行简要说明,此处如果不通过,返回说明为“当日用户订单数据不足,少于设定阈值1万条”。
参数3:错误数据输出表,本次由于是完整性检查,不存在错误数据,该返回参数可为Null
(4)步骤4:对订单数据进行的区域字段进行映射转换,将订单发生的行政区映射为业务区,例如将四川、重庆、云南、贵州四省映射为西南区域
(5)步骤5:通过合并排序组件对数据汇总排序,该操作组件实现的功能类似SQL语句的Groupby操作和Sort by操作,统计各业务区域的订单数据
(6)步骤6:通过Kettle的外部服务组件(Web服务组件)调用数据质量工具的接口服务进行汇总订单数据的波动性检测,例如西南区域订单的日常数据波动范围在30%以内,超过30%认为数据可能存在问题
(7)步骤7:分析数据质量工具执行的波动性检测脚本的返回参数:
参数1:retcode,数据质量检测结果代码,返回0表示订单波动在正常范围内,检测通过,下步执行步骤8,业务人员可以看到当日的订单统计结果;返回1,表示不通过,下步执行步骤11,业务人员暂时还不能看到当日的订单统计结果。
参数2:retmsg,数据质量检测结果说明,主要针对不通过进行简要说明,此处如果不通过,返回说明为“当日订单统计结果数据波动性超过30%阈值,请检查数据正确性”。
参数3:错误数据输出表,本次由于是波动性性检查,不需要进行自动纠错,返回参数可为Null
(8)步骤8:步骤7返回0(通过)的情况下,将订单统计结果数据写入前端展示表。
(9)步骤9:在步骤7返回1(不通过)的情况下,调用工单/OA系统接口,启动数据质量问题工作单。
(10)步骤10:工作单流转到该ETL作业的负责人,并通过短信或邮件通知负责人对数据结果进行复核。
(11)步骤11:在步骤3不通过的情况下,调用工单/OA系统接口,启动数据质量问题工作单。
(12)步骤12:工作单流转到订单库负责人,并通过短信或邮件通知负责人进行订单数据问题处理。
通过上述统计日常订单数据的业务场景,可以看到通过Kettle与数据质量工具的融合调用,可以有效对数据质量进行管控,避免错误数据展现到使用端。
2016年,Gartner估算约60%的大数据项目都会失败。一年后,Gartner分析师NickHeudecker表示,这个数据“过于保守”,大数据项目失败率应接近85%。并不只有Gartner这样认为,前微软高管Bob Muglia告诉分析网站Datanami,“我找不到完全满意的Hadoop客户。实际上,成功应用Hadoop的客户数量可能少于20个,甚至可能少于10个”。
大数据项目失败既有技术的原因,也有非技术的原因(例如大数据系统目标和业务场景不清晰,是技术驱动而不是业务驱动),非技术原因不是本发明要考虑的因素。而技术原因中,数据质量差、标准化不够导致大数据平台失败的案例约占技术原因的一半以上,数据问题频繁反映到应用前端,出现在管理人员、业务人员面前,严重影响了公司领导、业务部门对大数据平台的信心,往往导致大数据项目的失败。
采用了本发明的大数据处理过程中有效提升输出成果数据质量的系统及实现大数据处理过程中有效提升输出成果数据质量的控制方法,优化了ETL过程中的数据质量管控流程,避免数据质量问题不受控的传递到用户端,导致大数据系统项目的失败。本发明基于准确数据提升用户的数据分析能力和业务决策水平,提升用户对大数据平台的信心。本发明通过在线方式对数据责任人提出数据问题整改要求,从源头解决数据质量问题,从而提升企业数据的标准化水平。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (8)
1.一种大数据处理过程中有效提升输出成果数据质量的系统,其特征在于,所述的系统包括:
大数据处理工具,用于实现调用外部工具或系统接口的功能,并进行数据加工处理;
数据质量工具,通过对外接口实现与大数据处理工具间的相互调用,用于进行数据质量检测;
工单子系统,与所述的大数据处理工具相连接,用于启动在线数据问题工作单。
2.根据权利要求1所述的大数据处理过程中有效提升输出成果数据质量的系统,其特征在于,所述的数据质量工具包括:
质量规则管理模块,与被检测系统相连接,用于维护被检测数据源的结构信息、检测规则和检测脚本;
调度模块,与所述的质量规则管理模块和被检测系统相连接,用于定时调度或者触发调度检测脚本,并检测脚本的启动和停止管理。
3.根据权利要求2所述的大数据处理过程中有效提升输出成果数据质量的系统,其特征在于,所述的质量规则管理模块包含检核执行组件,与所述的调度模块相连接,用于提供多线程的检测脚本运行环境。
4.根据权利要求2所述的大数据处理过程中有效提升输出成果数据质量的系统,其特征在于,所述的调度模块包括:
第一实现类对外接口,与质量规则管理模块和被检测系统相连接,用于依照输入参数对应检测脚本的调用;
第二实现类对外接口,与质量规则管理模块和被检测系统相连接,用于提供对外调用接口。
5.一种基于权利要求1所述的系统实现大数据处理过程中有效提升输出成果数据质量的控制方法,其特征在于,所述的方法包括以下步骤:
(1)所述的数据质量工具配置被检测数据源,并录入检测规则;
(2)所述的系统进行源端数据检核,判断源数据是否通过数据检核,如果是,则继续步骤(4);否则,继续步骤(3);
(3)判断是否有纠错程序,如果是,则所述的大数据处理工具执行纠错程序;否则,继续步骤(6);
(4)所述的大数据处理工具进行数据转换,进行数据关联,并进行数据分组统计;
(5)所述的系统进行呈现端数据检核,判断数据是否通过数据检核,如果是,则所述的大数据处理工具汇总数据写入前端展示表;否则,继续步骤(6);
(6)所述的大数据处理工具发起质量问题工作单,并通知负责人接收工作单进行数据问题处理。
6.根据权利要求5所述的实现大数据处理过程中有效提升输出成果数据质量的控制方法,其特征在于,所述的步骤(2)具体包括以下步骤:
(2.1)所述的数据质量工具生成检测脚本;
(2.2)所述的数据质量工具调用检测脚本,对源数据的及时性、完整性或规范性进行检查;
(2.3)判断源数据是否通过数据检核,如果是,则继续步骤(4);否则,所述的数据质量工具保存问题数据,继续步骤(3)。
7.根据权利要求6所述的实现大数据处理过程中有效提升输出成果数据质量的控制方法,其特征在于,所述的步骤(1)还包括以下步骤:
(1.1)所述的大数据处理工具进行数据抽取任务,并继续步骤(2.2)。
8.根据权利要求5所述的实现大数据处理过程中有效提升输出成果数据质量的控制方法,其特征在于,所述的步骤(5)具体包括以下步骤:
(5.1)所述的数据质量工具调用检测脚本,检查数据的准确性或波动性;
(5.2)判断数据是否通过数据检核,如果是,则所述的大数据处理工具汇总数据写入前端展示表;否则,继续步骤(6)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910649913.9A CN110347741B (zh) | 2019-07-18 | 2019-07-18 | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910649913.9A CN110347741B (zh) | 2019-07-18 | 2019-07-18 | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347741A true CN110347741A (zh) | 2019-10-18 |
CN110347741B CN110347741B (zh) | 2023-05-05 |
Family
ID=68178762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910649913.9A Active CN110347741B (zh) | 2019-07-18 | 2019-07-18 | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347741B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131846A (zh) * | 2020-09-07 | 2020-12-25 | 北京思特奇信息技术股份有限公司 | 一种基于映射关系进行传参的方法及系统、电子装置、存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473672A (zh) * | 2013-09-30 | 2013-12-25 | 国家电网公司 | 企业级数据中心的元数据质量稽核系统、方法及平台 |
CN103491187A (zh) * | 2013-09-30 | 2014-01-01 | 华南理工大学 | 一种基于云计算的大数据统一分析处理方法 |
CN104504094A (zh) * | 2014-12-26 | 2015-04-08 | 中国石油集团工程设计有限责任公司北京分公司 | 一种用于油气田的多种数据源集成管理方法 |
CN104766151A (zh) * | 2014-12-29 | 2015-07-08 | 国家电网公司 | 一种用于电力交易数据仓库的质量管控方法及其管控系统 |
CN104834742A (zh) * | 2015-05-20 | 2015-08-12 | 东华大学 | 一种基于sca的etl架构管理方法 |
CN105976120A (zh) * | 2016-05-17 | 2016-09-28 | 全球能源互联网研究院 | 一种电力运营监控数据质量评估系统及方法 |
CN106503206A (zh) * | 2016-10-26 | 2017-03-15 | 国家电网公司 | 一种基于熵权法的通用数据质量评估方法 |
CN106610957A (zh) * | 2015-10-21 | 2017-05-03 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的多源数据整合方法 |
CN108154341A (zh) * | 2017-12-18 | 2018-06-12 | 千寻位置网络有限公司 | 基于数据流和工作流的统一调度平台及工作方法 |
CN108229828A (zh) * | 2018-01-04 | 2018-06-29 | 上海电气集团股份有限公司 | 一种基于工业数据的分析系统 |
CN108268997A (zh) * | 2017-11-23 | 2018-07-10 | 国网陕西省电力公司经济技术研究院 | 一种电网变电站数据质量考核方法 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN109947746A (zh) * | 2017-10-26 | 2019-06-28 | 亿阳信通股份有限公司 | 一种基于etl流程的数据质量管控方法和系统 |
-
2019
- 2019-07-18 CN CN201910649913.9A patent/CN110347741B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103491187A (zh) * | 2013-09-30 | 2014-01-01 | 华南理工大学 | 一种基于云计算的大数据统一分析处理方法 |
CN103473672A (zh) * | 2013-09-30 | 2013-12-25 | 国家电网公司 | 企业级数据中心的元数据质量稽核系统、方法及平台 |
CN104504094A (zh) * | 2014-12-26 | 2015-04-08 | 中国石油集团工程设计有限责任公司北京分公司 | 一种用于油气田的多种数据源集成管理方法 |
CN104766151A (zh) * | 2014-12-29 | 2015-07-08 | 国家电网公司 | 一种用于电力交易数据仓库的质量管控方法及其管控系统 |
CN104834742A (zh) * | 2015-05-20 | 2015-08-12 | 东华大学 | 一种基于sca的etl架构管理方法 |
CN106610957A (zh) * | 2015-10-21 | 2017-05-03 | 星际空间(天津)科技发展有限公司 | 一种基于地理信息的多源数据整合方法 |
CN105976120A (zh) * | 2016-05-17 | 2016-09-28 | 全球能源互联网研究院 | 一种电力运营监控数据质量评估系统及方法 |
CN106503206A (zh) * | 2016-10-26 | 2017-03-15 | 国家电网公司 | 一种基于熵权法的通用数据质量评估方法 |
CN109947746A (zh) * | 2017-10-26 | 2019-06-28 | 亿阳信通股份有限公司 | 一种基于etl流程的数据质量管控方法和系统 |
CN108268997A (zh) * | 2017-11-23 | 2018-07-10 | 国网陕西省电力公司经济技术研究院 | 一种电网变电站数据质量考核方法 |
CN108154341A (zh) * | 2017-12-18 | 2018-06-12 | 千寻位置网络有限公司 | 基于数据流和工作流的统一调度平台及工作方法 |
CN108229828A (zh) * | 2018-01-04 | 2018-06-29 | 上海电气集团股份有限公司 | 一种基于工业数据的分析系统 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
Non-Patent Citations (1)
Title |
---|
易先海: "一种基于SCA的ETL架构的设计和实现", 《计算机应用与软件》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131846A (zh) * | 2020-09-07 | 2020-12-25 | 北京思特奇信息技术股份有限公司 | 一种基于映射关系进行传参的方法及系统、电子装置、存储介质 |
CN112131846B (zh) * | 2020-09-07 | 2024-06-04 | 北京思特奇信息技术股份有限公司 | 一种基于映射关系进行传参的方法及系统、电子装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110347741B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109118347B (zh) | 一种自动化协作方法及系统 | |
US8938421B2 (en) | Method and a system for synchronizing data | |
EP2541413A1 (en) | Systems and Methods for Data Integrity Checking | |
US20040167912A1 (en) | Unified logging service for distributed applications | |
WO2019006654A1 (zh) | 金融自助设备维修派单生成方法、手持终端及电子设备 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
KR20120115476A (ko) | 복합 트랜잭션들에 대한 구조적 및 행동적 디스크립션을 사용하는 트랜잭션 모델 | |
CN108170566A (zh) | 产品故障信息处理方法、系统、设备和协同工作平台 | |
CN110134385A (zh) | 记录c语言函数调用链的方法及c语言通用日志框架 | |
CN102207857A (zh) | Gui元素识别方法、装置及系统 | |
CN105989163A (zh) | 数据实时处理方法及系统 | |
CA3114246A1 (en) | System and method for robotic agent management | |
CN115016321A (zh) | 一种硬件在环自动化测试方法、装置及系统 | |
CN111913824B (zh) | 确定数据链路故障原因的方法及相关设备 | |
CN103177156A (zh) | 一种企业应用集成适配器的设计器系统及其设计方法 | |
CN115640283A (zh) | 数据校验方法、装置、设备、系统、存储介质及产品 | |
JP2009181496A (ja) | ジョブ処理システムおよびジョブ管理方法 | |
CN110347741A (zh) | 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法 | |
CN107451056B (zh) | 监听接口测试结果的方法及装置 | |
CN117667573A (zh) | 基于ai语言模型的集群运维方法及装置 | |
JP2006059108A (ja) | 情報システム開発試験支援システム | |
CN115941441A (zh) | 系统链路自动化监控运维方法、系统、设备以及介质 | |
CN102314631A (zh) | 制造执行系统的事件处理装置 | |
CN113900902A (zh) | 日志处理方法、装置、电子设备及存储介质 | |
US9098613B2 (en) | Logging of application messages |
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 |