CN112181967B - 源数据质量的监测方法、装置、计算机设备及介质 - Google Patents
源数据质量的监测方法、装置、计算机设备及介质 Download PDFInfo
- Publication number
- CN112181967B CN112181967B CN202011052102.XA CN202011052102A CN112181967B CN 112181967 B CN112181967 B CN 112181967B CN 202011052102 A CN202011052102 A CN 202011052102A CN 112181967 B CN112181967 B CN 112181967B
- Authority
- CN
- China
- Prior art keywords
- data
- result
- source
- increment
- source data
- 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
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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/248—Presentation of query results
-
- 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/258—Data format conversion from or to a database
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Abstract
本发明涉及数据处理领域,公开了一种源数据质量的监测方法、装置、计算机设备及介质,所述方法包括:对每个来源的源数据增量进行同步处理,并对源数据增量的同步状态进行检测,得到检测结果,若检测结果为同步完成,则对源数据增量进行一致性检查,得到检查结果,并对源数据增量进行波动性监控,得到波动监控结果,基于检查结果和波动监控结果,确定源数据增量的质量评估结果,本发明提高源数据质量的监测效率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种源数据质量的监测方法、装置、计算机设备及介质。
背景技术
随着社会经济的快速发展,企事业单位涉及的业务范畴也越来越大,存在许多业务交叉点,业务使用的数据来源也较多,这些数据往往来源于多个内部系统或外部系统,亦或者其他外部数据供应商,而数据质量(可正常使用的数据的稳定性)数据是目前所有数据化经营公司的核心,任何依赖于数据的分析、建模、决策都无不对数据有精确的要求,对业务处理的效率有着重要影响,因而,需要在使用这些数据之前,对这些数据的质量进行监控。
传统的公司对数据分析的维度面较窄,而随着大数据的兴起,越来越多的公司开始重视数据,那么如果保证数据质量就成为目前亟待解决的问题,及时发现数据的波动有助于公司管理层尽早决策,从而保证公司越来越好,而由于各公司的业务大相径庭,现有方案中仅仅对数据进行一些规范性检查,无法保证源数据质量,因而,亟需一种高效的源数据质量的监测方法。
发明内容
本发明实施例提供一种源数据质量的监测方法、装置、计算机设备和存储介质,以提高源数据质量的监测效率。
为了解决上述技术问题,本申请实施例提供一种源数据质量的监测方法,包括:
对每个来源的源数据增量进行同步处理,并对所述源数据增量的同步状态进行检测,得到检测结果;
若所述检测结果为同步完成,则对所述源数据增量进行一致性检查,得到检查结果,并对所述源数据增量进行波动性监控,得到波动监控结果;
基于所述检查结果和所述波动监控结果,确定所述源数据增量的质量评估结果。
可选地,所述对每个来源的源数据增量进行同步处理包括:
确定每个来源的源数据增量;
将每个来源的所述源数据增量的数据格式与预设标准格式进行对比,对与所述预设标准格式不同的源数据增量,进行格式转换,得到规范化的增量数据;
采用sqoop的方式,对所述规范化的增量数据进行同步导入覆盖处理。
可选地,所述对所述源数据增量的同步状态进行检测,得到检测结果包括:
获取预先配置的监控表,所述监控表包含需要同步的来源和同步字段;
根据所述需要同步的来源,通过spark引擎访问相应来源的业务系统库,查询相应来源的业务系统库中所述同步字段的数据量,并存储查询结果表;
查询同步到hive库中所述同步字段的数据量,保存到同步结果表中;
对比所述查询结果表和所述同步结果表中的数据量是否一致,若一致,则确定检测结果为同步完成,若否,则确认检测结果为未同步完成。
可选地,所述若所述检测结果为同步完成,则对所述源数据增量进行一致性检查,得到检查结果包括:
检测预设时间范围内的增量数据是否具有唯一性,得到第一检查结果;
对预设的关键字段进行字段属性检查,得到第二检查结果;
基于所述第一检查结果和所述第二检查结果,确定所述检查结果。
可选地,所述对预设的关键字段进行字段属性检查,得到第二检查结果包括:
通过spark引擎连接源数据增量对应的业务系统库,查询业务系统库中所述预设的关键字段的数据量和所述预设的关键字段对应数值的平均值,作为第一字段信息;
查询hive库中所述预设的关键字段的数据量和所述预设的关键字段对应数值的平均值,作为第二字段信息;
对比所述第一字段信息和所述第二字段信息,得到所述第二检查结果。
可选地,所述对所述源数据增量进行波动性监控,得到波动监控结果包括:
针对每个预设关键字段,获取所述预设关键字段对应的历史数据,作为第一数据,获取所述预设关键字段对应的的增量数据,作为第二数据;
计算所述第二数据与所述第一数据的比值,并根据所述比值确定波动值;
基于所述波动值和预设阈值,确定波动监控结果。
可选地,所述预设的关键字段对应的数据为连续型,所述计算所述第二数据与所述第一数据的比值,并根据所述比值确定波动值包括:
按照预设的排序方式,分别对所述第一数据和所述第二数据进行排序,得到排序后的第一数据和排序后的第二数据;
分别对所述排序后的第一数据和排序后的第二数据进行分箱处理,得到分箱后的第一数据和分箱后的第二数据,将所述分箱后的第一数据的每一箱,作为一个参考箱,将所述分箱后的第二数据的每一箱,作为一个增量箱;
计算每一个所述参考箱在所述分箱后的第一数据中的比例,得到第一比例,计算每一个增量箱在所述分箱后的第二数据中的比例,作为第二比例;
针对每个第二比例,计算所述第二比例与所述第二比例对应的第一比例的差值,将所述差值的绝对值作为一个波动值。
为了解决上述技术问题,本申请实施例还提供一种源数据质量的监测装置,包括:
同步模块,用于对每个来源的源数据增量进行同步处理,并对所述源数据增量的同步状态进行检测,得到检测结果;
检测模块,用于若所述检测结果为同步完成,则对所述源数据增量进行一致性检查,得到检查结果,并对所述源数据增量进行波动性监控,得到波动监控结果;
评估模块,用于基于所述检查结果和所述波动监控结果,确定所述源数据增量的质量评估结果。
可选地,所述同步模块包括:
增量确定单元,用于确定每个来源的源数据增量;
数据规范化单元,用于将每个来源的所述源数据增量的数据格式与预设标准格式进行对比,对与所述预设标准格式不同的源数据增量,进行格式转换,得到规范化的增量数据;
数据同步单元,用于采用sqoop的方式,对所述规范化的增量数据进行同步导入覆盖处理。
可选地,所述同步模块还包括:
监控表获取单元,用于获取预先配置的监控表,所述监控表包含需要同步的来源和同步字段;
源数据增量查询单元,用于根据所述需要同步的来源,通过spark引擎访问相应来源的业务系统库,查询相应来源的业务系统库中所述同步字段的数据量,并存储查询结果表;
同步数据增量查询单元,用于查询同步到hive库中所述同步字段的数据量,保存到同步结果表中;
状态检测单元,用于对比所述查询结果表和所述同步结果表中的数据量是否一致,若一致,则确定检测结果为同步完成,若否,则确认检测结果为未同步完成。
可选地,所述检测模块,用于包括:
唯一性检测单元,用于检测预设时间范围内的增量数据是否具有唯一性,得到第一检查结果;
属性检查单元,用于对预设的关键字段进行字段属性检查,得到第二检查结果;
结果确定单元,用于基于所述第一检查结果和所述第二检查结果,确定所述检查结果。
可选地,所述属性检查单元包括:
第一字段确定子单元,用于通过spark引擎连接源数据增量对应的业务系统库,查询业务系统库中所述预设的关键字段的数据量和所述预设的关键字段对应数值的平均值,作为第一字段信息;
第二字段确定子单元,用于查询hive库中所述预设的关键字段的数据量和所述预设的关键字段对应数值的平均值,作为第二字段信息;
字段信息对比子单元,用于对比所述第一字段信息和所述第二字段信息,得到所述第二检查结果。
可选地,所述检测模块包括:
数据获取单元,用于针对每个预设关键字段,获取所述预设关键字段对应的历史数据,作为第一数据,获取所述预设关键字段对应的的增量数据,作为第二数据;
波动值计算单元,用于计算所述第二数据与所述第一数据的比值,并根据所述比值确定波动值;
监控结果确定单元,用于基于所述波动值和预设阈值,确定波动监控结果。
可选地,所述波动值计算单元包括:
排序子单元,用于按照预设的排序方式,分别对所述第一数据和所述第二数据进行排序,得到排序后的第一数据和排序后的第二数据;
分箱子单元,用于分别对所述排序后的第一数据和排序后的第二数据进行分箱处理,得到分箱后的第一数据和分箱后的第二数据,将所述分箱后的第一数据的每一箱,作为一个参考箱,将所述分箱后的第二数据的每一箱,作为一个增量箱;
比例计算子单元,用于计算每一个所述参考箱在所述分箱后的第一数据中的比例,得到第一比例,计算每一个增量箱在所述分箱后的第二数据中的比例,作为第二比例;
计算子单元,用于针对每个第二比例,计算所述第二比例与所述第二比例对应的第一比例的差值,将所述差值的绝对值作为一个波动值。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述源数据质量的监测方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述源数据质量的监测方法的步骤。
本发明实施例提供的源数据质量的监测方法、装置、计算机设备及存储介质,对每个来源的源数据增量进行同步处理,并对源数据增量的同步状态进行检测,得到检测结果,若检测结果为同步完成,则对源数据增量进行一致性检查,得到检查结果,并对源数据增量进行波动性监控,得到波动监控结果,基于检查结果和波动监控结果,确定源数据增量的质量评估结果,实现结合一致性检查结果和波动性监控结果,对源数据增量的质量进行评估,有利于提高源数据质量的监测效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请的源数据质量的监测方法的一个实施例的流程图;
图3是根据本申请的源数据质量的监测装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture E界面显示perts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureE界面显示perts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的源数据质量的监测方法由服务器执行,相应地,源数据质量的监测装置设置于服务器中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本申请实施例中的终端设备101、102、103具体可以对应的是实际生产中的应用系统。
请参阅图2,图2示出本发明实施例提供的一种源数据质量的监测方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
S201:对每个来源的源数据增量进行同步处理,并对源数据增量的同步状态进行检测,得到检测结果。
具体地,在多系统的源数据监控场景中,使用不同来源的数据之前,需要先确定数据与来源系统的数据相同,因而,需要对不同来源的数据进行同步,本实施例中,针对不同系统,不同业务,定时从这些来源获取源数据的增量,并在获取完成后,对同步状态进行检测,得到检测结果。
其中,对不同来源的数据进行同步具体方式包括但不限于:全量同步、增量同步和差异同步,在本实施例中,为确保数据的一致性,需要在数据使用之前,对数据进行检查,因而,采用增量同步的方式,定时对源数据进行同步更新,定时的时间间隔可以根据数据量的大小和实际业务需求来确定。
本实施例中,数据来源包括自身业务系统和外部业务系统,自身业务系统在数据进行新增、修改、删除时,自动实现数据库中数据的更新,因而,对于自身业务系统,不需要进行源数据更新,对于来源为外部业务系统的数据,需要进行源数据增量的同步,并且在同步接受后,需要对同步后的数据与源数据进行同步状态的检测,避免数据不一致。
需要说明的是,源数据增量是定期同步(按日/月同步),因为涉及到不同系统的数据同步,因此当前判断源数据同步完成的逻辑是任务运行完成,任务的完成涉及到比对两边数据量是否一致,但是如果增量数据量为0,则会通过这个规则,但是会导致后续任务的数据都没有,因此需要重新制定增量数据同步完成规则,本实施例针对增量数据,监测增量数据条数是否不为0,如果为0,则会邮件告警,否则就不会。
S202:若检测结果为同步完成,则对源数据增量进行一致性检查,得到检查结果,并对源数据增量进行波动性监控,得到波动监控结果。
具体地,在检测结果为同步完成时,对于同步过来的增量数据,是要确定增量数据是否是正确的增量数据,是否存在波动,从而提前发现数据问题,因此需要细粒度的监控,需要监测增量是否满足基本的数据规则,对源数据增量进行一致性检查和波动性检查,一致性检查是指对数据的唯一性检查和字段规范性检查,波动性检查是判断增量数据的变化范围是否超出预设范围。
需要说明的是,本实施例中对数据进行波动性检测的预设范围,是根据后续需要使用数据的业务场景来确定,例如,预设范围为20%以内,此处不作具体限定。
其中,波动性监控是指对源数据增量的数值,相对于应用数据的变化幅度,波动性超过预设阈值的增量数据,一般都存在问题,因而,对波动性监控是为了在进行数据更新时,及时发现存在问题的增量数据,从而进行溯源找到源数据的问题所在,有利于提高源数据增量的监控效率。
对源数据增量进行一致性检查和对源数据增量进行波动性监控的具体实施方式,可参考后续实施例的描述,为避免重复,此处不再赘述。
S203:基于检查结果和波动监控结果,确定源数据增量的质量评估结果。
具体地,在检查结果为检查通过和波动监控结果为数据波动正常时,确定质量评估结果为源数据增量的质量合格,否则,确定质量评估结果为源数据增量的质量不合格。
进一步地,在确定质量评估结果为源数据增量的质量不合格时,获取质量不合格的原因,并进采取相应措施对增量数据进行处理,避免不符合要求的增量数据进行生产库,导致业务处理异常。
本实施例中,通过对每个来源的源数据增量进行同步处理,并对源数据增量的同步状态进行检测,得到检测结果,若检测结果为同步完成,则对源数据增量进行一致性检查,得到检查结果,并对源数据增量进行波动性监控,得到波动监控结果,基于检查结果和波动监控结果,确定源数据增量的质量评估结果,实现通过一致性检查结果和波动性监控结果,对源数据增量的质量进行评估,有利于提高源数据质量的监测效率。
在本实施例的一些可选的实现方式中,步骤S201中,对每个来源的源数据增量进行同步处理包括:
确定每个来源的源数据增量;
将每个来源的源数据增量的数据格式与预设标准格式进行对比,对与预设标准格式不同的源数据增量,进行格式转换,得到规范化的增量数据;
采用sqoop的方式,对规范化的增量数据进行同步导入覆盖处理。
具体地,每个来源的源数据具有该来源对应的预设标准格式,本实施例中,先根据来源确定该来源对应的源数据增量,先进而将源数据增量的数据格式与预设标准格式进行对比,对与预设标准格式不同的源数据增量,进行格式转换,得到规范化的增量数据,再采用sqoop的方式,对规范化的增量数据进行同步导入覆盖处理。
其中,sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中,sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。本实施例中,增量数据同步主要涉及到业务系统(oracle库)同步数据到hive库,采用sqoop进行数据传输,有利于提高数据传输的效率。
需要说明的是,本实施例中,对增量数据中新增的部分直接保存,而对于修改的部分,需要替换成最新的数据。例如,日增量同步员工信息,主要同步每日修改(增加)的员工数据,对于新增的员工数据直接保存,而对于修改的数据,需要替换成最新的数据。
应理解,检测结果包括同步完成和未同步完成,在检测结果为同步完成时,执行后续步骤,在检测结果为未同步完成时,根据未同步完成的原因,执行相应的措施,例如邮件告警、重新同步等。
本实施例中,通过对增量数据进行数据预处理后,采用sqoop的方式,对规范化的增量数据进行同步导入覆盖处理,有利于实现大量数据的快速同步,提高数据同步效率。
在本实施例的一些可选的实现方式中,步骤S201中,对源数据增量的同步状态进行检测,得到检测结果包括:
获取预先配置的监控表,监控表包含需要同步的来源和同步字段;
根据需要同步的来源,通过spark引擎访问相应来源的业务系统库,查询相应来源的业务系统库中同步字段的数据量,并存储查询结果表;
查询同步到hive库中同步字段的数据量,保存到同步结果表中;
对比查询结果表和同步结果表中的数据量是否一致,若一致,则确定检测结果为同步完成,若否,则确认检测结果为未同步完成。
具体地,服务端预设配置有监控表,监控表中包含需要进行同步的来源,以及每个来源对应的需要进行同步的字段,也即同步字段,并通过分布式的数据引擎spark访问来源对应的业务系统库,查询该业务系统库中同步字段的数据量,并保存在查询结果表,同时,查询服务端生产库hive库中该来源的同步字段的数据量,保存在同步结果表中,进而比较查询结果表和同步结果表中的数据量是否一致来判断是否同步完成。
其中,hive库为服务端存储应用数据的数据库,在本实施例中,源数据增量同步到hive库中,业务系统库为需要进行数据同步的源数据增量对应的生产库。
需要说明的是,为快速判断是否同步完成,在本步骤实现的过程中,仅判断两张表中同步字段的数据条数(数据量)是否一致,以便快速完成同步检测,在不一致时,对该来源执行预设的应急措施,例如,重新同步、预警等。
本实施例中,通过spark引擎访问同步数据对应的业务系统库,并从业务系统库查询同步的数据量,并与hive库中已同步的数据进行比较,确定同步完成情况,避免仅仅根据同步完成的消息来判断是否完成同步,防止同步过程中发生数据传递遗漏的情况,提高数据同步判断的准确性。
在本实施例的一些可选的实现方式中,步骤S202中,若检测结果为同步完成,则对源数据增量进行一致性检查,得到检查结果包括:
检测预设时间范围内的增量数据是否具有唯一性,得到第一检查结果;
对预设的关键字段进行字段属性检查,得到第二检查结果;
基于第一检查结果和第二检查结果,确定检查结果。
其中,唯一性主要是判断一条数据是否主键唯一,不唯一的数据在业务场景中是存在异议的,对于不唯一的表进行日期告警处理,本实施例预设时间范围具体可以是月或日,也即,按月、按日监控数据是否唯一。
其中,检查结果包括检查通过和检查不通过,第一检查结果和第二检查结果都合格时,为检查通过,其他情况为检查不通过。
值得说明的是,由于业务数据会随业务动作变化,而对于一些中间的字段,我们需要监控源数据跟业务系统数据知否一致,是否存在字段丢失等问题,因而,本实施例需要对预设关键字段进行字段属性检查,有利于提高一致性检查的准确性。
其中,预设关键字段可以根据实际业务需求进行设定,此处不做限制。
在本实施例中,通过检测预设时间范围内的增量数据是否具有唯一性,并对预设的关键字段进行字段属性检查,根据唯一性检查结果和字段属性检查结果,确定一致性检查结果,有利于提高一致性检查的准确性。
在本实施例的一些可选的实现方式中,对预设的关键字段进行字段属性检查,得到第二检查结果包括:
通过spark引擎连接源数据增量对应的业务系统库,查询业务系统库中预设的关键字段的数据量和预设的关键字段对应数值的平均值,作为第一字段信息;
查询hive库中预设的关键字段的数据量和预设的关键字段对应数值的平均值,作为第二字段信息;
对比第一字段信息和第二字段信息,得到第二检查结果。
其中,spark引擎是专为大规模数据处理而设计的快速通用的计算引擎,可用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等,shark在spark的框架基础上提供和hive一样的hiveQL命令接口,为了最大程度的保持和Hive的兼容性,本实施例中中,采用,spark引擎有利于提高数据处理效率。
其中,预设的关键字段为根据实际需要进行预设的字段,应理解,对每一条数据进行一致性检查,需要耗费大量的时间,因而,本实施例采用检查数据量和平均值的方式,由于数据是同步处理,若数据量一致,并且平均值相同,即可确认数据检查结果为通过,而无需对每条数据进行检查,有利于提高检查效率。
其中,hive库为服务端存储应用数据的数据库,业务系统库为需要进行数据同步的源数据增量对应的生产库。
需要说明的是,进行一致性检查的数据范围,可根据实际需求进行选取,在本实施例中,作为一种优选方式,对于增量数据在亿级以上的表,进行增量数据对比,主要对比最近一个月/三个月/半年的数据量的一致性,对于增量数据在亿级以下的表,则进行全量数据的对比。
在本实施例中,通过大数据引擎对业务系统库和hive库源数据增量对应的数据进行一致性检查,有利于提高一致性检查的效率。
在本实施例的一些可选的实现方式中,步骤S202中,对源数据增量进行波动性监控,得到波动监控结果包括:
针对每个预设关键字段,获取预设关键字段对应的历史数据,作为第一数据,获取预设关键字段对应的的增量数据,作为第二数据;
计算第二数据与第一数据的比值,并根据比值确定波动值;
基于波动值和预设阈值,确定波动监控结果。
具体地,服务端预先将需要进行波动性检测的字段设置为关键字段,在检测结果为同步完成时,获取预设关键字段对应的历史数据,作为第一数据,获取预设关键字段对应的的增量数据,作为第二数据,并计算第二数据与第一数据的波动值,并依据波动值与预设阈值,确定波动监控结果。
其中,计算第二数据与第一数据的比值,并根据比值确定波动值的具体过程,可参考后续实施例的描述,为避免重复,此处不再赘述。
其中,预设阈值可根据实际需求进行设定,此处不作限制,在本实施例中,优选的预设阈值为20%。
需要说明的是,历史数据是指服务端应用数据库中(hive库)中已经存在的数据,增量数据是指同步过程中新增加的数据。
例如,在一具体实施方式中,第一数据为最近3个月年龄,第二数据为最近一个月年龄,第一数据可以划分为以下几个分箱,分别是(0,20],(20,30],(30,40],(40,100),占比为10%,30%,40%,20%,而第二数据也划分成对应的分箱,占比为15%,40%,20%,25%,由于(30,40]分箱波动超过了预设阈值20%,因此需告警分析是否符合。
在本实施例中,通过计算预设关键字段的波动值,并结合预设阈值,确定监控结果,无需对每个字段进行波动值计算,减少了运算量,提高了波动监控的效率。
在本实施例的一些可选的实现方式中,预设的关键字段对应的数据为连续型,计算第二数据与第一数据的比值,并根据比值确定波动值包括:
按照预设的排序方式,分别对第一数据和第二数据进行排序,得到排序后的第一数据和排序后的第二数据;
分别对排序后的第一数据和排序后的第二数据进行分箱处理,得到分箱后的第一数据和分箱后的第二数据,将分箱后的第一数据的每一箱,作为一个参考箱,将分箱后的第二数据的每一箱,作为一个增量箱;
计算每一个参考箱在分箱后的第一数据中的比例,得到第一比例,计算每一个增量箱在分箱后的第二数据中的比例,作为第二比例;
针对每个第二比例,计算第二比例与第二比例对应的第一比例的差值,将差值的绝对值作为一个波动值。
具体地,根据预设的排序方式对第一数据和第二数据进行排序,进而分别对排序后的第一数据和排序后的第二数据进行分箱处理,得到分箱后的第一数据和分箱后的第二数据,将分箱后的第一数据的每一箱,作为一个参考箱,将分箱后的第二数据的每一箱,作为一个增量箱,再计算每个参考箱在分箱后的第一数据中的比例,作为第一比例,计算每一个增量箱在分箱后的第二数据中的比例,作为第二比例,并根据第一比例和第二比例的差值,作为波动值。
其中,预设的排序方式可以根据实际需求进行设定,作为一种优选方式,本实施例中按照时间的先后顺序,对第一数据和第二数据分别进行排序。
需要说明的是,对第一数据和第二数据进行排序,使得数据的比较更为准确,对排序后的第一数据和排序后第二数据进行分箱,再根据分箱后的结果进行波动值确定,有利于减少运算量,提高波动值确定的效率。
在本实施例中,通过对第一数据和第二数据进行排序后分箱处理,进而比较分箱后的数据,降低了数据维度,减少了数据波动计算的运算量,有利于提高数据波动监控的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图3示出与上述实施例源数据质量的监测方法一一对应的源数据质量的监测装置的原理框图。如图3所示,该源数据质量的监测装置包括同步模块31、检测模块32和评估模块33。各功能模块详细说明如下:
同步模块31,用于对每个来源的源数据增量进行同步处理,并对源数据增量的同步状态进行检测,得到检测结果;
检测模块32,用于若检测结果为同步完成,则对源数据增量进行一致性检查,得到检查结果,并对源数据增量进行波动性监控,得到波动监控结果;
评估模块33,用于基于检查结果和波动监控结果,确定源数据增量的质量评估结果。
可选地,同步模块31包括:
增量确定单元,用于确定每个来源的源数据增量;
数据规范化单元,用于将每个来源的源数据增量的数据格式与预设标准格式进行对比,对与预设标准格式不同的源数据增量,进行格式转换,得到规范化的增量数据;
数据同步单元,用于采用sqoop的方式,对规范化的增量数据进行同步导入覆盖处理。
可选地,同步模块31还包括:
监控表获取单元,用于获取预先配置的监控表,监控表包含需要同步的来源和同步字段;
源数据增量查询单元,用于根据需要同步的来源,通过spark引擎访问相应来源的业务系统库,查询相应来源的业务系统库中同步字段的数据量,并存储查询结果表;
同步数据增量查询单元,用于查询同步到hive库中同步字段的数据量,保存到同步结果表中;
状态检测单元,用于对比查询结果表和同步结果表中的数据量是否一致,若一致,则确定检测结果为同步完成,若否,则确认检测结果为未同步完成。
可选地,检测模块32包括:
唯一性检测单元,用于检测预设时间范围内的增量数据是否具有唯一性,得到第一检查结果;
属性检查单元,用于对预设的关键字段进行字段属性检查,得到第二检查结果;
结果确定单元,用于基于第一检查结果和第二检查结果,确定检查结果。
可选地,属性检查单元包括:
第一字段确定子单元,用于通过spark引擎连接源数据增量对应的业务系统库,查询业务系统库中预设的关键字段的数据量和预设的关键字段对应数值的平均值,作为第一字段信息;
第二字段确定子单元,用于查询hive库中预设的关键字段的数据量和预设的关键字段对应数值的平均值,作为第二字段信息;
字段信息对比子单元,用于对比第一字段信息和第二字段信息,得到第二检查结果。
可选地,检测模块32还包括:
数据获取单元,用于针对每个预设关键字段,获取预设关键字段对应的历史数据,作为第一数据,获取预设关键字段对应的的增量数据,作为第二数据;
波动值计算单元,用于计算第二数据与第一数据的比值,并根据比值确定波动值;
监控结果确定单元,用于基于波动值和预设阈值,确定波动监控结果。
可选地,波动值计算单元包括:
排序子单元,用于按照预设的排序方式,分别对第一数据和第二数据进行排序,得到排序后的第一数据和排序后的第二数据;
分箱子单元,用于分别对排序后的第一数据和排序后的第二数据进行分箱处理,得到分箱后的第一数据和分箱后的第二数据,将分箱后的第一数据的每一箱,作为一个参考箱,将分箱后的第二数据的每一箱,作为一个增量箱;
比例计算子单元,用于计算每一个参考箱在分箱后的第一数据中的比例,得到第一比例,计算每一个增量箱在分箱后的第二数据中的比例,作为第二比例;
计算子单元,用于针对每个第二比例,计算第二比例与第二比例对应的第一比例的差值,将差值的绝对值作为一个波动值。
关于源数据质量的监测装置的具体限定可以参见上文中对于源数据质量的监测方法的限定,在此不再赘述。上述源数据质量的监测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如电子文件的控制的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行电子文件的控制的程序代码。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的源数据质量的监测方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (6)
1.一种源数据质量的监测方法,其特征在于,包括:
对每个来源的源数据增量进行同步处理,并对所述源数据增量的同步状态进行检测,得到检测结果;
所述对每个来源的源数据增量进行同步处理的步骤具体包括:
确定每个来源的源数据增量;
将每个来源的所述源数据增量的数据格式与预设标准格式进行对比,对与所述预设标准格式不同的源数据增量,进行格式转换,得到规范化的增量数据;
采用sqoop的方式,对所述规范化的增量数据进行同步导入覆盖处理;
所述对所述源数据增量的同步状态进行检测,得到检测结果的步骤具体包括:
获取预先配置的监控表,所述监控表包含需要同步的来源和同步字段;
根据所述需要同步的来源,通过spark引擎访问相应来源的业务系统库,查询相应来源的业务系统库中所述同步字段的数据量,并存储查询结果表;
查询同步到hive库中所述同步字段的数据量,保存到同步结果表中;
对比所述查询结果表和所述同步结果表中的数据量是否一致,若一致,则确定检测结果为同步完成,若否,则确认检测结果为未同步完成;
若所述检测结果为同步完成,则对所述源数据增量进行一致性检查,得到检查结果,并对所述源数据增量进行波动性监控,得到波动监控结果;
所述若所述检测结果为同步完成,则对所述源数据增量进行一致性检查,得到检查结果的具体步骤包括:
检测预设时间范围内的增量数据是否具有唯一性,得到第一检查结果;
对预设的关键字段进行字段属性检查,得到第二检查结果;
基于所述第一检查结果和所述第二检查结果,确定所述检查结果;
所述对所述源数据增量进行波动性监控,得到波动监控结果的具体步骤包括:
针对每个预设的关键字段,获取所述预设的关键字段对应的历史数据,作为第一数据,获取所述预设的关键字段对应的增量数据,作为第二数据;
计算所述第二数据与所述第一数据的比值,并根据所述比值确定波动值;
基于所述波动值和预设阈值,确定波动监控结果;
基于所述检查结果和所述波动监控结果,确定所述源数据增量的质量评估结果。
2.如权利要求1所述的源数据质量的监测方法,其特征在于,所述对预设的关键字段进行字段属性检查,得到第二检查结果包括:
通过spark引擎连接源数据增量对应的业务系统库,查询业务系统库中所述预设的关键字段的数据量和所述预设的关键字段对应数值的平均值,作为第一字段信息;
查询hive库中所述预设的关键字段的数据量和所述预设的关键字段对应数值的平均值,作为第二字段信息;
对比所述第一字段信息和所述第二字段信息,得到所述第二检查结果。
3.如权利要求1所述的源数据质量的监测方法,其特征在于,所述预设的关键字段对应的数据为连续型,所述计算所述第二数据与所述第一数据的比值,并根据所述比值确定波动值包括:
按照预设的排序方式,分别对所述第一数据和所述第二数据进行排序,得到排序后的第一数据和排序后的第二数据;
分别对所述排序后的第一数据和排序后的第二数据进行分箱处理,得到分箱后的第一数据和分箱后的第二数据,将所述分箱后的第一数据的每一箱,作为一个参考箱,将所述分箱后的第二数据的每一箱,作为一个增量箱;
计算每一个所述参考箱在所述分箱后的第一数据中的比例,得到第一比例,计算每一个增量箱在所述分箱后的第二数据中的比例,作为第二比例;
针对每个第二比例,计算所述第二比例与所述第二比例对应的第一比例的差值,将所述差值的绝对值作为一个波动值。
4.一种源数据质量的监测装置,所述装置用于实现权利要求1-3任一项所述的方法,其特征在于,所述装置包括:
同步模块,用于对每个来源的源数据增量进行同步处理,并对所述源数据增量的同步状态进行检测,得到检测结果;
检测模块,用于若所述检测结果为同步完成,则对所述源数据增量进行一致性检查,得到检查结果,并对所述源数据增量进行波动性监控,得到波动监控结果;
评估模块,用于基于所述检查结果和所述波动监控结果,确定所述源数据增量的质量评估结果。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述的源数据质量的监测方法。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的源数据质量的监测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011052102.XA CN112181967B (zh) | 2020-09-29 | 2020-09-29 | 源数据质量的监测方法、装置、计算机设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011052102.XA CN112181967B (zh) | 2020-09-29 | 2020-09-29 | 源数据质量的监测方法、装置、计算机设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112181967A CN112181967A (zh) | 2021-01-05 |
CN112181967B true CN112181967B (zh) | 2023-08-22 |
Family
ID=73947321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011052102.XA Active CN112181967B (zh) | 2020-09-29 | 2020-09-29 | 源数据质量的监测方法、装置、计算机设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112181967B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553320B (zh) * | 2021-07-29 | 2022-09-02 | 上海哔哩哔哩科技有限公司 | 数据质量监控方法及装置 |
CN117472641B (zh) * | 2023-12-28 | 2024-04-09 | 中移(苏州)软件技术有限公司 | 数据质量的检测方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168995A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据处理方法及服务器 |
CN107368957A (zh) * | 2017-07-04 | 2017-11-21 | 广西电网有限责任公司电力科学研究院 | 一种设备状态监测数据质量评测体系的构建方法 |
CN107491381A (zh) * | 2017-07-04 | 2017-12-19 | 广西电网有限责任公司电力科学研究院 | 一种设备状态监测数据质量评测系统 |
CN111475370A (zh) * | 2020-03-06 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于数据中心的运维监控方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080270420A1 (en) * | 2007-04-27 | 2008-10-30 | Rosenberg Michael J | Method and System for Verification of Source Data in Pharmaceutical Studies and Other Applications |
-
2020
- 2020-09-29 CN CN202011052102.XA patent/CN112181967B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168995A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据处理方法及服务器 |
CN107368957A (zh) * | 2017-07-04 | 2017-11-21 | 广西电网有限责任公司电力科学研究院 | 一种设备状态监测数据质量评测体系的构建方法 |
CN107491381A (zh) * | 2017-07-04 | 2017-12-19 | 广西电网有限责任公司电力科学研究院 | 一种设备状态监测数据质量评测系统 |
CN111475370A (zh) * | 2020-03-06 | 2020-07-31 | 平安科技(深圳)有限公司 | 基于数据中心的运维监控方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112181967A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908672B (zh) | 基于Hadoop平台的应用报表实现方法、设备及存储介质 | |
CN112181967B (zh) | 源数据质量的监测方法、装置、计算机设备及介质 | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
CN112052138A (zh) | 业务数据质量检测方法、装置、计算机设备及存储介质 | |
CN113836131B (zh) | 一种大数据清洗方法、装置、计算机设备及存储介质 | |
CN112115145A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN114880405A (zh) | 一种基于数据湖的数据处理方法及系统 | |
CN114461644A (zh) | 一种数据采集方法、装置、电子设备及存储介质 | |
CN107491558B (zh) | 元数据更新方法及装置 | |
CN114416868B (zh) | 一种数据同步方法、装置、设备及存储介质 | |
CN114398346A (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN105975528B (zh) | 一种后台配置文件的同步方法、装置及系统 | |
CN112667622A (zh) | 一种进行业务数据质量检核的方法和系统 | |
CN116701355A (zh) | 数据视图处理方法、装置、计算机设备及可读存储介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN115525721A (zh) | 一种数据同步方法、装置、设备以及存储介质 | |
CN113626516A (zh) | 数据增量同步方法和系统 | |
CN114048718A (zh) | 表格数据处理方法、装置、计算机设备及存储介质 | |
CN110955709B (zh) | 一种数据的处理方法、装置及电子设备 | |
CN113934729A (zh) | 一种基于知识图谱的数据管理方法、相关设备及介质 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN111221817B (zh) | 业务信息数据存储方法、装置、计算机设备及存储介质 | |
US11003690B1 (en) | Aggregator systems for storage of data segments | |
CN110515923B (zh) | 一种分布式数据库之间的数据迁移方法和系统 | |
CN115237906A (zh) | 一种面向企业在线教育高效mpp大数据引擎处理方法 |
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 |