CN117131037A - 一种数据质量检测方法、装置、系统及智能车辆 - Google Patents

一种数据质量检测方法、装置、系统及智能车辆 Download PDF

Info

Publication number
CN117131037A
CN117131037A CN202311395245.4A CN202311395245A CN117131037A CN 117131037 A CN117131037 A CN 117131037A CN 202311395245 A CN202311395245 A CN 202311395245A CN 117131037 A CN117131037 A CN 117131037A
Authority
CN
China
Prior art keywords
quality detection
data quality
script
data
rule
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
Application number
CN202311395245.4A
Other languages
English (en)
Inventor
秦浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jidu Technology Co Ltd
Original Assignee
Beijing Jidu Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jidu Technology Co Ltd filed Critical Beijing Jidu Technology Co Ltd
Priority to CN202311395245.4A priority Critical patent/CN117131037A/zh
Publication of CN117131037A publication Critical patent/CN117131037A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及到软件技术领域,具体公开了一种数据质量检测方法、装置、系统及智能车辆,该方法包括:获取对待检测数据进行质量检测的检测信息;基于所述检测信息,执行所述待检测数据对应的主体脚本,并调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本;调取出目标附属脚本中每个规则标识各自对应的数据质量检测规则;按照调取出的数据质量检测规则对待检测数据进行数据质量检测,并得到数据质量检测结果。通过上述的方法,采用主体脚本与附属脚本结合的方式实现了对待检测数据的数据质量检测,实现了数据质量检测任务和检测规则独立管理和扩展,提升了数据质量检测任务的灵活性以及可维护性。

Description

一种数据质量检测方法、装置、系统及智能车辆
技术领域
本申请涉及软件技术领域,尤其涉及一种数据质量检测方法、装置、系统及智能车辆。
背景技术
随着技术的发展,各行业也进入到信息化,因此数据需求也源源不断的产生,在离线数据开发时,需要在开发链路上数据同步、数据计算、存储等一系列开发工作,这就需要进行数据质量的监控。
当前,为了实现对数据质量的检测,采用了结构化查询语言(英文全称:Structured Query Language,简称为:SQL)进行数据量的检测,也就是在进行数据质量检测之前,先按照规则模板生成检测SQL语句,然后在Hive引擎上执行SQL语句,从而实现数据质量检测。
但是,当前通过SQL进行数据质量检测时,需要在SQL语句中需要放入数据质量检测流程、数据质量检测规则、数据质量检测阈值以及设定的检测结果等,这样就导致SQL语句的长度较长并且语句的结构复杂,并且SQL语句有特定的语法要求,进而导致通过SQL语句进行数据质量检测的便捷性以及效率都较差。
发明内容
本发申请提供了一种数据质量检测方法、装置、系统及智能车辆,用以实现主体脚本与附属脚本结合的方式对待检测数据的数据质量检测。
第一方面,本申请提供了一种数据质量检测方法,所述方法包括:
获取对待检测数据进行质量检测的检测信息;
基于所述检测信息,执行所述待检测数据对应的主体脚本,并调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本,其中,所述目标附属脚本中包含至少一条用于对所述待检测数据进行数据质量检测的数据质量检测规则的规则标识;
调取出所述目标附属脚本中每个规则标识各自对应的数据质量检测规则;
按照调取出的数据质量检测规则对所述待检测数据进行数据质量检测,并得到数据质量检测结果。
通过上述的方法,采用主体脚本与附属脚本结合的方式实现了对待检测数据的数据质量检测,分离了数据质量检测任务配置和检测规则执行逻辑,实现了数据质量检测任务和检测规则独立管理和扩展,提升了数据质量检测任务的灵活性以及可维护性。
在一种可选的实施例中,在获取对待检测数据进行质量检测的检测信息之后,以及在执行所述待检测数据对应的主体脚本之前,所述方法还包括:
获取所述检测指令中的N条数据质量检测规则,以及所述N条数据质量检测规则中每条数据质量检测规则对应的校验阈值,其中,N为大于等于1的整数;
确定每条数据质量检测规则各自的规则标识;
将每条数据质量检测规则对应的规则标识、校验阈值分别保存至检测规则库中。
通过该方式能够对数据质量检测规则的检测结果进行自定义设置。
在一种可选的实施例中,在获取对待检测数据进行质量检测的检测信息之后,以及在执行所述待检测数据对应的主体脚本之前,所述方法还包括:
生成包含所述N条数据质量检测规则中每条数据质量检测规则的规则标识的目标附属脚本;
确定所述目标附属脚本的目标属性信息,其中,所述属性信息至少包含所述目标附属脚本的附属脚本名称以及存储路径;
生成包含所述目标属性信息的主体脚本。
通过该方式能够将主体脚本与附属脚本关联,从而在主体脚本执行过程中快捷的调取出附属脚本。
在一种可选的实施例中,调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本,包括:
在所述主体脚本中确定出所述目标附属脚本的附属脚本名称以及附属脚本的文件路径;
根据所述文件路径在数据库中调取出所述附属脚本名称对应的所述目标附属脚本。
在一种可选的实施例中,在按照附属脚本中的数据质量检测规则对所述待检测数据进行数据质量检测,并得到质量检测结果之后, 所述方法还包括:
根据每条数据质量检测规则,确定出每条数据质量检测规则对应的校验阈值;
将每条数据质量检测规则对应的所述质量检测结果与设置的校验阈值进行比较,得到校验结果;
根据所述校验结果确定是否输出数据质量告警。
通过该方式能够及时准确的对数据质量检测结果进行校验,并且对校验结果进行告警输出。
第二方面,本申请提供了一种数据质量检测装置,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
获取对待检测数据进行质量检测的检测信息;
基于所述检测信息,执行所述待检测数据对应的主体脚本,并调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本,其中,所述目标附属脚本中包含至少一条用于对所述待检测数据进行数据质量检测的数据质量检测规则的规则标识;
调取出所述目标附属脚本中每个规则标识各自对应的数据质量检测规则;
按照调取出的数据质量检测规则对所述待检测数据进行数据质量检测,并得到数据质量检测结果。
第三方面,本申请提供了一种数据质量检测系统,所述系统包括:调度单元以及数据质量控制单元,其中,
所述调度单元,用于接收对待检测数据的质量检测信息,并将所述质量检测信息中的数据质量检测规则发送给数据质量控制单元,并接收所述数据质量控制单元返回的主体脚本以及附属脚本,启动数据质量检测任务,并通过执行所述主体脚本以及附属脚本对所述待检测数据进行质量检测;
所述数据质量控制单元,接收所述调度单元的数据质量检测规则,根据所述数据质量检测规则确定出对应的附属脚本,根据所述附属脚本生成对应的主体脚本,将所述附属脚本以及主体脚本发送至所述调度单元。
在一种可选的实施例中,所述调度单元,包括:
权限管理模块,用于对控制对质量检测任务的访问权限;
任务管理模块,用于接收主体脚本以及附属脚本,启动数据质量检测任务,通过执行所述主体脚本以及附属脚本对所述待检测数据进行质量检测;
调度管理模块,用于对所述数据质量检测任务的触发和执行配置;
所述数据质量控制单元,包括:
模板管理模块,用于配置数据质量检测任务的模板,并基于所述模板创建数据质量检测任务;
规则管理模块,用于配置数据质量检测任务对应的数据质量检测规则;
脚本管理模块,用于根据规则管理模块中的数据质量检测规则创建附属脚本,以及根据所述附属脚本创建主体脚本;
告警管理模块,用于配置对所述待检测数据进行数据质量检测的告警规则。
第四方面,本申请提供了一种智能车辆,所述智能车辆包括上述的一种数据质量检测装置。
第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现上述的一种数据质量检测方法。
附图说明
图1为本申请提供的一种数据质量检测方法的流程图;
图2为本申请提供的数据质量检测服务系统的结构示意图;
图3为本申请提供的一种数据质量检测系统的结构示意图之一;
图4为本申请提供的一种数据质量检测系统的结构示意图之二;
图5为本申请提供的一种电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。其中,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
当前,为了实现对数据质量的检测,采用了结构化查询语言(英文全称:Structured Query Language,简称为:SQL)进行数据量的检测,也就是在进行数据质量检测之前,先按照规则模板生成检测SQL语句,然后在Hive引擎上执行SQL语句,从而实现数据质量检测。
但是,当前通过SQL进行数据质量检测时,需要在SQL语句中需要放入数据质量检测流程、数据质量检测规则、数据质量检测阈值以及设定的检测结果等,这样就导致SQL语句的长度较长并且语句的结构复杂,并且SQL语句有特定的语法要求,进而导致通过SQL语句进行数据质量检测的便捷性以及效率都较差。
另外,若是数据质量检测是给予执行SQL语句来实现,则需要单独维护大数据客户端或者是底层设备等资源,这样就造成运维成本也大大增加。
为了解决上述的技术问题,本申请提供了一种数据质量检测方法,在获取到对待检测数据进行质量检测的检测指令之后,将执行待检测数据对应的主体脚本,以及调取出主体脚本中附属脚本属性信息对应的目标附属脚本,通过执行主体脚本以及附属脚本中的数据质量检测规则来对待检测数据进行数据质量检,最终得到质量检测结果。基于该装置的实现方案,对待检测数据进行数据质量检测时,不再通过SQL语句来完成,而是直接通过两个脚本文件来实现,这样不仅可以降低SQL语句进行质量检测的复杂度,并且也降低了通过SQL进行质量检测的运维成本。
实施例一
下面通过附图以及具体实施例对本申请技术方案做详细的说明。
本申请提供了一种数据质量检测方法,参照图1所示为本申请实施例提供的一种数据质量检测方法的流程图,该方法包括:
S1,获取对待检测数据进行质量检测的检测信息;
S2,基于检测信息,执行待检测数据对应的主体脚本,并调取出主体脚本中附属脚本属性信息对应的目标附属脚本;
S3,调取出目标附属脚本中每个规则标识各自对应的数据质量检测规则;
S4,按照调取出的数据质量检测规则对待检测数据进行数据质量检测,并得到质量检测结果。
首先来讲,本申请实施例所提供的数据质量检测方法可以应用到图2所示数据质量检测服务系统中,该系统包括交互层、软件服务层以及存储层,该交互层中可以提供用户交互界面,在该用户交互界面中用户可以输入相应的检测信息,比如说用户名、待检测数据、数据质量检测规则的规则标识、每条数据质量检测规则对应的校验阈值等等。其中,待检测数据为数据库中需要进行检测的数据的名称或者是标识,规则标识为检测规则库中提供的数据质量检测规则对应的标识,校验阈值为数据质量数据检测规则对待检测数据进行检测后的期望值。
这里需要说明是,该数据质量检测规则是由软件服务层提供,因此用户可以在用户交互界面中进行选择,也可以自定义设置对应的数据质量检测规则。
比如说,用户是需要对数据库中存储的数据表中数据项进行检测,在用户开启用户交互界面之后,在该用户交互界面中会存在数据质量检测规则选项栏,如图2所示的用户交互界面,在该选项栏中用户可以选择不同的数据质量检测规则,当然,该数据质量检测规则是预先设定的规则,这些设定的数据质量检测规则保存至检测规则库中。用户可以在该数据质量检测规则选项栏中选择一个数据质量检测,也可以选择多个数据质量检测规则。另外,在本申请实施例中,用户交互界面中的数据质量检测规则选项栏可以是一个也可以是多个,本申请实施例中不做具体限定。
当用户在用户交互界面中完成对应的信息输入之后,交互层将生成检测信息,在该检测信息中就包含了待检测数据以及数据质量检测规则名称,软件服务层在接收到该检测信息之后,首先将生成数据质量检测任务,并且将该数据质量检测任务配置调度计划,该调度计划指示了数据质量检测任务的执行时间等,进一步将从该检测信息中解析出N条数据质量检测规则的规则标识,以及每个规则标识对应校验阈值,如表1所示:
表1
将每条数据质量检测规则对应的规则标识,以及规则标识对应的校验阈值分别保存至检测规则库中。
基于解析出的N条数据质量检测规则对应的规则标识,生成包含N条数据质量检测规则的规则标识的目标附属脚本,也就是生成的目标附属标识中包含了N个规则标识。这里需要说明是,目标附属脚本的生成过程中,该目标附属脚本中还包含了待检测数据的数据名称以及存储路径等信息。
另外,在附属脚本中除了包含数据质量检测规则的规则标识之外,还包含了数据质量检测规则之间执行顺序,也就是先执行哪一条数据质量检测规则,然后再执行哪一条数据质量检测规则。
进一步,在本申请实施例中,该附属脚本可以使用Scala语言编写,通过该Scala语言编写可以充分利用Scala语言特性使得编写数据质量检测规则更加简便,并且通过该Scala语言编写还可以使用内置方法函数,从而支持第三工具包,该第三方工具可以数据格式转换、数据类型转换等。通过该第三方工具包可以对不符合要求的待检测数据进行准确的调整,从而可以适用到不同的应用场景中。
在生成目标附属脚本之后,该目标附属脚本将被存储至存储层,从而能够确定得到该目标附属脚本的存储路径以及附属脚本名称。
在确定该目标附属脚本的附属脚本名称以及附属脚本的存储路径之后。将进一步的生成主体脚本。
具体来讲,在软件服务层中配置了主体脚本的脚本模板,该脚本模板中编排了数据质量检测任务的任务流程,该任务流程指示了数据质量检测任务的执行顺序,在本申请实施例中,该执行顺序可以是:
步骤1,生成唯一任务ID;
这里需要说明是,该任务ID是数据质量检测任务的任务ID,通过该任务ID可以确定所要调度的数据质量检测任务。
步骤2,执行附属脚本;
在本申请实施例中,该主体脚本中包含了附属脚本的附属脚本名称以及存储路径,通过该存储路径可以调取在对应存储空间中调取出该附属脚本名称对应的目标附属脚本。
在本申请实施例中,可以使用beeline命令以JDBC连接方式调起Kyuubi引擎,以onSpark方式执行目标附属脚本。
步骤3,对数据质量检测结果进行校验;
在本申请实施例中可以使用curl命令请求超文本传输协议(英文全称:HypertextTransfer Protocol,简称为:HTTP)接口完成数据质量检测结果的校验。
步骤4,根据校验结果确定是否输出数据质量告警。
在该流程中包含了数据质量检测任务的执行步骤,在确定各个步骤之后,将生成包含目标附属脚本的目标属性信息的主体脚本。这里需要说明是,该主体脚本可以使用SHELL脚本语言编写,通过该SHELL脚本语言编写可以充分利用命令行操作、系统调用等方面的优势。
也就是说,通过该SHELL脚本语言编写主体脚本,省去了数据质量检测任务复杂的依赖关系的调度以及配置,节省了数据质量检测任务的硬件开发成本和维护成本,也不需要额外的增加计算资源。
在主体脚本生成之后,该主体脚本以及目标附属脚本将被保存在脚本管理模块中,当该主体脚本对应的数据质量检测任务被调度执行时,该主体脚本将被执行,此时该主体脚本将按照上述步骤1-步骤4顺序执行。
首先该主体脚本将确定任务ID是否正确,在任务ID正确时,将确定出自身存在的目标附属脚本的脚本名称以及存储路径,首先根据该存储路径确定该目标附属脚本的存储位置,然后根据目标附属脚本的脚本名称查找到该目标附属脚本。
在调取到目标附属脚本之后,进一步的在该目标附属脚本中确定出各个数据质量检测规则,也就是说可以通过目标附属脚本中的规则标识确定出各个数据质量检测规则,然后通过该规则标识在存储数据质量检测规则的规则库中调取出对应的数据质量检测规则。
进一步,主体脚本将根据中的待检测数据的信息调取出待检测数据,然后按照调取出的数据质量检测规则对待检测数据进行数据质量的检测,并得到数据质量检测结果。
在得到数据质量检测结果之后,主体脚本将在检测规则库中调取出各个规则标识各自对应的校验阈值,比如表1所示,每个规则标识都对应一个校验阈值,将每条数据质量检测规则对应的质量检测结果与设置的校验阈值进行比较,得到校验结果,然后根据校验结果确定是否输出数据质量告警。
具体来讲,数据质量检测规则A对应的数据质量检测结果是a1,此时通过表1调取出该数据质量检测规则A对应的校验阈值为a0,数据质量检测结果a1可以是一个具体的数值,此时将a0与a1进行比较,若是a1大于a0,则说明待检测数据在进行数据质量检测规则A检测时不通过。若是a1小于a0,则说明待检测数据在进行数据质量检测规则A检测时通过。以此类推,每条数据质量检测规则都按照该方式进行检测结果的校验。
当然,若是数据质量检测规则A的检测结果校验不通过时,则阻断工作流或者是输出数据质量告警。
这里需要说明是,一个工作流是由多个数据质量检测任务组成,因此在一个工作流中的某一个数据质量检测任务的数据质量检测不通过时,则该工作流将被阻断,避免该工作流在执行的过程中发生错误。当然也可以同时结合数据质量告警输出。
通过上述的方法,采用主体脚本与附属脚本结合的方式实现了对待检测数据的数据质量检测,分离了数据质量检测任务配置和检测规则执行逻辑,实现了数据质量检测任务和检测规则独立管理和扩展,提升了数据质量检测任务的灵活性以及可维护性。
实施例二:
基于同一发明构思,本申请实施例中还提供了一种数据质量检测系统,如图3所示为本申请实施例提供的一种数据质量检测系统的结构示意图,该装置包括:调度单元301以及数据质量控制单元302。
调度单元301,用于接收对待检测数据的质量检测信息,并将质量检测信息中的数据质量检测规则发送给数据质量控制单元,并接收数据质量控制单元返回的主体脚本以及附属脚本,启动数据质量检测任务,并通过执行主体脚本以及附属脚本对待检测数据进行质量检测;
数据质量控制单元302,接收调度单元301的数据质量检测规则,根据数据质量检测规则确定出对应的附属脚本,根据附属脚本生成对应的主体脚本,将主体脚本以及附属脚本发送至调度单元。
在本申请实施例中,调度单元301与数据质量控制单元302通过应用程序编辑接口(英文全称:Application Programming Interface,简称为:API)进行信息传输。
具体来讲,参照图4所示,该调度单元301包括了权限管理模块401、任务管理模块402、调度管理模块403以及元数据管理模块404。
首先权限管理模块401是用于控制用户对系统中的数据质量检测任务和系统资源的访问权限,具体包括用户和角色管理、权限控制、资源访问控制、角色权限分配、日志记录等功能。
简单来讲,该权限管理模块401就是用于对用户的访问权限进行控制,并且还能够在该权限管理模块401中配置用户的权限。通过该调度单元301中实现权限管理,因此不在需要额外开发权限管理功能,进而节约系统开发成本。
任务管理模块402,用于接收主体脚本以及附属脚本,管理和监控数据质量检测任务,主要包括数据质量检测任务的创建与配置、调度计划管理、任务运行监控、依赖管理等。这里需要说明是,在接收到用户交互界面的质量检测信息之后,在该任务管理模块402中将建立数据质量检测任务,并对该数据质量检测任务进行配置,此时配置就包含了数据质量检测任务的调度计划、依赖管理等。当该数据质量检测任务调度时,该任务管理模块402将启动任务的运行监控,从而实现对数据质量检测任务的监控管理。
调度管理模块403,该调度管理模块403主要用于数据质量检测任务的调度计划配置和管理,以确保数据质量检测任务按照设定计划时间或者是设定计划事件自动触发和执行。具体功能包括调度计划设置、调度失败重试以及警告、调度监控和调度日志记录等控制。
在本申请实施例中,该调度管理模块403通过AIP接口接收脚本管理模块407生成的主体脚本,然后执行该主体脚本,并通过脚本管理模块307调取附属脚本,从而完成待检测数据的数据质量检测。
元数据管理模块404,该元数据管理模块404主要用于管理待检测数据,也就是通过该元数据管理模块404来数据库中调取出待检测数据。
进一步,参照图3所示,该数据质量控制单元302包括:模板管理模块405、规则管理模块406、脚本管理模块407以及告警管理模块408、报告管理模块409。
该模板管理模块405用于管理和配置数据质量检测任务的模板,该模板为用户交互界面中用于设置数据质量检测规则的模板,用户可以在该模板管理模块405中配置适用场景的模板,具体在本申请实施例中不做限定。因此,在该模板管理模块405中可以对模板进行创建以及编辑。在该模板管理模块405中还配置了模板分类与标签、模板版本管理、模板共享与导入导出功能。
另外,在该模板管理模块405中还包括了检测规则库,在该检测规则中包含了各个数据质量检测规则以及对应的校验阈值,比如表1所示。通过该检测规则库可以调取各个数据质量检测规则。
规则管理模块406,用于配置数据质量检测任务对应的数据质量检测规则,主要功能包括数据质量检测规则创建与编辑、数据质量检测规则分类与标签、参数配置、检测规则库管理等。也就说,通过规则管理模块406可以实现对数据质量检测规则的各种处理,并且可以对保存数据质量检测规则的检测规则库进行有效的管理。
脚本管理模块407,用于根据规则管理模块406中的数据质量检测规则创建附属脚本,以及根据附属脚本创建主体脚本。在本申请实施例中,该脚本管理模块407对附属脚本以及主体脚本的创建过程在实施例1中已经详细说明,此处就不再赘述。
告警管理模块408,用于配置对待检测数据进行数据质量检测的告警规则。该告警管理模块408中可以配置和管理数据质量检测任务中的告警规则和通知方式以及对异常情况进行及时的告警和处理。主要功能包括告警规则设置、告警方式选择、告警级别与优先级、告警接收人管理、告警历史记录与查询、异常处理与反馈等。
报告管理模块409,用于生成、管理和分享数据质量检测任务的报告,便于对数据质量情况进行可视化分析和监控。该报告管理模块409可以输出数据质量检测任务的报告,在该报告中会包含数据质量检测任务的任务ID、数据质量检测任务的检测结果等。
基于上述数据质量检测系统,可以通过数据质量控制单元生成主体脚本以及附属脚本,然后采用主体脚本与附属脚本结合的方式实现了对待检测数据的数据质量检测,分离了数据质量检测任务配置和检测规则执行逻辑,实现了数据质量检测任务和检测规则独立管理和扩展,提升了数据质量检测任务的灵活性以及可维护性。
实施例三:
对应本申请实施例一所提供的方法,本申请实施例中还提供了一种数据质量检测装置,参照图5所示,该装置包括处理器501和存储器502,存储器502用于存储处理器501可执行的程序,处理器501用于读取存储器502中的程序并执行如下步骤:
获取对待检测数据进行质量检测的检测信息;
基于检测信息,执行待检测数据对应的主体脚本,并调取出主体脚本中附属脚本属性信息对应的目标附属脚本;
调取出目标附属脚本中每个规则标识各自对应的数据质量检测规则;
按照调取出的数据质量检测规则对待检测数据进行数据质量检测,并得到数据质量检测结果。
首先来讲,本申请实施例所提供的数据质量检测方法可以应用到图3所示数据质量检测服务系统中,该系统包括交互层、软件服务层以及存储层,该交互层中可以提供用户交互界面,在该用户交互界面中用户可以输入相应的检测信息,比如说用户名、待检测数据、数据质量检测规则的规则标识、每条数据质量检测规则对应的校验阈值等等。其中,待检测数据为数据库中需要进行检测的数据的名称或者是标识,规则标识为检测规则库中提供的数据质量检测规则对应的标识,校验阈值为数据质量数据检测规则对待检测数据进行检测后的期望值。
这里需要说明是,该数据质量检测规则是由软件服务层提供,因此用户可以在用户交互界面中进行选择,也可以自定义设置对应的数据质量检测规则。
比如说,用户是需要对数据库中存储的数据表中数据项进行检测,在用户开启用户交互界面之后,在该用户交互界面中会存在数据质量检测规则选项栏,如图2所示的用户交互界面,在该选项栏中用户可以选择不同的数据质量检测规则,当然,该数据质量检测规则是预先设定的规则,这些设定的数据质量检测规则保存至检测规则库中。用户可以在该数据质量检测规则选项栏中选择一个数据质量检测,也可以选择多个数据质量检测规则。另外,在本申请实施例中,用户交互界面中的数据质量检测规则选项栏可以是一个也可以是多个,本申请实施例中不做具体限定。
当用户在用户交互界面中完成对应的信息输入之后,交互层将生成检测信息,在该检测信息中就包含了待检测数据以及数据质量检测规则名称,软件服务层在接收到该检测信息之后,首先将生成数据质量检测任务,并且将该数据质量检测任务配置调度计划,该调度计划指示了数据质量检测任务的执行时间等,进一步将从该检测信息中解析出N条数据质量检测规则的规则标识,以及每个规则标识对应校验阈值,如表1所示。
将每条数据质量检测规则对应的规则标识,以及规则标识对应的校验阈值分别保存至检测规则库中。
基于解析出的N条数据质量检测规则对应的规则标识,生成包含N条数据质量检测规则的规则标识的目标附属脚本,也就是生成的目标附属标识中包含了N个规则标识。这里需要说明是,目标附属脚本的生成过程中,该目标附属脚本中还包含了待检测数据的数据名称以及存储路径等信息。
另外,在附属脚本中除了包含数据质量检测规则的规则标识之外,还包含了数据质量检测规则之间执行顺序,也就是先执行哪一条数据质量检测规则,然后再执行哪一条数据质量检测规则。
进一步,在本申请实施例中,该附属脚本可以使用Scala语言编写,通过该Scala语言编写可以充分利用Scala语言特性使得编写数据质量检测规则更加简便,并且通过该Scala语言编写还可以使用内置方法函数,从而支持第三工具包,该第三方工具可以数据格式转换、数据类型转换等。通过该第三方工具包可以对不符合要求的待检测数据进行准确的调整,从而可以适用到不同的应用场景中。
在生成目标附属脚本之后,该目标附属脚本将被存储至存储层,从而能够确定得到该目标附属脚本的存储路径以及附属脚本名称。
在确定该目标附属脚本的附属脚本名称以及附属脚本的存储路径之后。将进一步的生成主体脚本。
具体来讲,在软件服务层中配置了主体脚本的脚本模板,该脚本模板中编排了数据质量检测任务的任务流程,该任务流程指示了数据质量检测任务的执行顺序,在本申请实施例中,该执行顺序可以是:
步骤1,生成唯一任务ID;
这里需要说明是,该任务ID是数据质量检测任务的任务ID,通过该任务ID可以确定所要调度的数据质量检测任务。
步骤2,执行附属脚本;
在本申请实施例中,该主体脚本中包含了附属脚本的附属脚本名称以及存储路径,通过该存储路径可以调取在对应存储空间中调取出该附属脚本名称对应的目标附属脚本。
在本申请实施例中,可以使用beeline命令以JDBC连接方式调起Kyuubi引擎,以onSpark方式执行目标附属脚本。
步骤3,对数据质量检测结果进行校验;
在本申请实施例中可以使用curl命令请求超文本传输协议(英文全称:HypertextTransfer Protocol,简称为:HTTP)接口完成数据质量检测结果的校验。
步骤4,根据校验结果确定是否输出数据质量告警。
在该流程中包含了数据质量检测任务的执行步骤,在确定各个步骤之后,将生成包含目标附属脚本的目标属性信息的主体脚本。这里需要说明是,该主体脚本可以使用SHELL脚本语言编写,通过该SHELL脚本语言编写可以充分利用命令行操作、系统调用等方面的优势。
也就是说,通过该SHELL脚本语言编写主体脚本,省去了数据质量检测人任务的复杂的依赖关系的调度以及配置,节省了数据质量检测任务的硬件开发成本和维护成本,也不需要额外的增加计算资源。
在主体脚本生成之后,该主体脚本以及目标附属脚本将被保存在脚本管理模块中,当该主体脚本对应的数据质量检测任务被调度执行时,该主体脚本将被执行,此时该主体脚本将按照上述步骤1-步骤4顺序执行。
首先该主体脚本将确定任务ID是否正确,在任务ID正确时,将确定出自身存在的目标附属脚本的脚本名称以及存储路径,首先根据该存储路径确定该目标附属脚本的存储位置,然后根据目标附属脚本的脚本名称查找到该目标附属脚本。
在调取到目标附属脚本之后,进一步的在该目标附属脚本中确定出各个数据质量检测规则,也就是说可以通过目标附属脚本中的规则标识确定出各个数据质量检测规则,然后通过该规则标识在存储数据质量检测规则的规则库中调取出对应的数据质量检测规则。
进一步,主体脚本将根据中的待检测数据的信息调取出待检测数据,然后按照调取出的数据质量检测规则对待检测数据进行数据质量的检测,并得到数据质量检测结果。
在得到数据质量检测结果之后,主体脚本将在检测规则库中调取出各个规则标识各自对应的校验阈值,比如表1所示,每个规则标识都对应一个校验阈值,将每条数据质量检测规则对应的质量检测结果与设置的校验阈值进行比较,得到校验结果,然后根据校验结果确定是否输出数据质量告警。
具体来讲,数据质量检测规则A对应的数据质量检测结果是a1,此时通过表1调取出该数据质量检测规则A对应的校验阈值为a0,数据质量检测结果a1可以是一个具体的数值,此时将a0与a1进行比较,若是a1大于a0,则说明待检测数据在进行数据质量检测规则A检测时不通过。若是a1小于a0,则说明待检测数据在进行数据质量检测规则A检测时通过。以此类推,每条数据质量检测规则都按照该方式进行检测结果的校验。
当然,若是数据质量检测规则A的检测结果校验不通过时,则阻断工作流或者是输出数据质量告警。
这里需要说明是,一个工作流是由多个数据质量检测任务组成,因此在一个工作流中的某一个数据质量检测任务的数据质量检测不通过时,则该工作流将被阻断,避免该工作流在执行的过程中发生错误。当然也可以同时结合数据质量告警输出。
通过上述的装置,采用主体脚本与附属脚本结合的方式实现了对待检测数据的数据质量检测,分离了数据质量检测任务配置和检测规则执行逻辑,实现了数据质量检测任务和检测规则独立管理和扩展,提升了数据质量检测任务的灵活性以及可维护性。
基于同一发明构思,本申请实施例提供了一种智能车辆,该智能车辆包括上述的一种数据质量检测装置,此处的装置在上述的实施例中已经详细说明,此处就不再赘述。
基于同一发明构思,本公开实施例提供一种计算机存储介质,计算机存储介质包括:计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如前文论述任一的一种数据质量检测方法。由于上述计算机存储介质解决问题的原理与一种数据质量检测方法相似,因此上述计算机存储介质的实施可以参见方法的实施,重复之处不再赘述。
在具体的实施过程中,计算机存储介质可以包括:通用串行总线闪存盘(USB,Universal Serial Bus Flash Drive)、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的存储介质。
基于同一发明构思,本公开实施例还提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行如前文论述任一的一种数据质量检测方法。由于上述计算机程序产品解决问题的原理与一种数据质量检测方法相似,因此上述计算机程序产品的实施可以参见方法的实施,重复之处不再赘述。
计算机程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、OAM或者其它可编程装置。
所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种数据质量检测方法,其特征在于,所述方法包括:
获取对待检测数据进行质量检测的检测信息;
基于所述检测信息,执行所述待检测数据对应的主体脚本,并调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本,其中,所述目标附属脚本中包含至少一条用于对所述待检测数据进行数据质量检测的数据质量检测规则的规则标识;
调取出所述目标附属脚本中每个规则标识各自对应的数据质量检测规则;
按照调取出的数据质量检测规则对所述待检测数据进行数据质量检测,并得到数据质量检测结果。
2.如权利要求1所述的方法,其特征在于,在获取对待检测数据进行质量检测的检测信息之后,以及在执行所述待检测数据对应的主体脚本之前,所述方法还包括:
获取所述检测指令中的N条数据质量检测规则,以及所述N条数据质量检测规则中每条数据质量检测规则对应的校验阈值,其中,N为大于等于1的整数;
确定每条数据质量检测规则各自的规则标识;
将每条数据质量检测规则对应的规则标识、校验阈值分别保存至检测规则库中。
3.如权利要求1所述的方法,其特征在于,在获取对待检测数据进行质量检测的检测信息之后,以及在执行所述待检测数据对应的主体脚本之前,所述方法还包括:
生成包含所述N条数据质量检测规则中每条数据质量检测规则的规则标识的目标附属脚本;
确定所述目标附属脚本的目标属性信息,其中,所述属性信息至少包含所述目标附属脚本的附属脚本名称以及存储路径;
生成包含所述目标属性信息的主体脚本。
4.如权利要求3所述的方法,其特征在于,调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本,包括:
在所述主体脚本中确定出所述目标附属脚本的附属脚本名称以及附属脚本的文件路径;
根据所述文件路径在数据库中调取出所述附属脚本名称对应的所述目标附属脚本。
5.如权利要求2所述的方法,其特征在于,在按照附属脚本中的数据质量检测规则对所述待检测数据进行数据质量检测,并得到质量检测结果之后, 所述方法还包括:
根据每条数据质量检测规则,确定出每条数据质量检测规则对应的校验阈值;
将每条数据质量检测规则对应的所述质量检测结果与设置的校验阈值进行比较,得到校验结果;
根据所述校验结果确定是否输出数据质量告警。
6.一种数据质量检测装置,其特征在于,包括处理器和存储器,所述存储器用于存储所述处理器可执行的程序,所述处理器用于读取所述存储器中的程序并执行如下步骤:
获取对待检测数据进行质量检测的检测信息;
基于所述检测信息,执行所述待检测数据对应的主体脚本,并调取出所述主体脚本中附属脚本属性信息对应的目标附属脚本,其中,所述目标附属脚本中包含至少一条用于对所述待检测数据进行数据质量检测的数据质量检测规则的规则标识;
调取出所述目标附属脚本中每个规则标识各自对应的数据质量检测规则;
按照调取出的数据质量检测规则对所述待检测数据进行数据质量检测,并得到数据质量检测结果。
7.一种数据质量检测系统,其特征在于,所述系统包括:调度单元以及数据质量控制单元,其中,
所述调度单元,用于接收对待检测数据的质量检测信息,并将所述质量检测信息中的数据质量检测规则发送给数据质量控制单元,并接收所述数据质量控制单元返回的主体脚本以及附属脚本,启动数据质量检测任务,并通过执行所述主体脚本以及附属脚本对所述待检测数据进行质量检测;
所述数据质量控制单元,接收所述调度单元的数据质量检测规则,根据所述数据质量检测规则确定出对应的附属脚本,根据所述附属脚本生成对应的主体脚本,将所述附属脚本以及主体脚本发送至所述调度单元。
8.如权利要求7所述的系统,其特征在于,所述调度单元,包括:
权限管理模块,用于对控制对质量检测任务的访问权限;
任务管理模块,用于接收主体脚本以及附属脚本,启动数据质量检测任务,通过执行所述主体脚本以及附属脚本对所述待检测数据进行质量检测;
调度管理模块,用于对所述数据质量检测任务的触发和执行配置;
所述数据质量控制单元,包括:
模板管理模块,用于配置数据质量检测任务的模板,并基于所述模板创建数据质量检测任务;
规则管理模块,用于配置数据质量检测任务对应的数据质量检测规则;
脚本管理模块,用于根据规则管理模块中的数据质量检测规则创建附属脚本,以及根据所述附属脚本创建主体脚本;
告警管理模块,用于配置对所述待检测数据进行数据质量检测的告警规则。
9.一种智能车辆,其特征在于,所述智能车辆包括如权利要求6所述的装置。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现权利要求1-5任一项所述的方法。
CN202311395245.4A 2023-10-25 2023-10-25 一种数据质量检测方法、装置、系统及智能车辆 Pending CN117131037A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311395245.4A CN117131037A (zh) 2023-10-25 2023-10-25 一种数据质量检测方法、装置、系统及智能车辆

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311395245.4A CN117131037A (zh) 2023-10-25 2023-10-25 一种数据质量检测方法、装置、系统及智能车辆

Publications (1)

Publication Number Publication Date
CN117131037A true CN117131037A (zh) 2023-11-28

Family

ID=88856764

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311395245.4A Pending CN117131037A (zh) 2023-10-25 2023-10-25 一种数据质量检测方法、装置、系统及智能车辆

Country Status (1)

Country Link
CN (1) CN117131037A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130055042A1 (en) * 2011-08-31 2013-02-28 Accenture Global Services Limited Data quality analysis and management system
CN111241073A (zh) * 2018-11-29 2020-06-05 阿里巴巴集团控股有限公司 一种数据质量检查方法及装置
CN111897806A (zh) * 2020-06-28 2020-11-06 苏宁金融科技(南京)有限公司 大数据离线数据质量检查方法及装置
CN113127471A (zh) * 2021-05-11 2021-07-16 数库(上海)科技有限公司 自动化数据质量检验的方法、装置、设备和存储介质
CN113946568A (zh) * 2020-07-15 2022-01-18 中投国信(北京)科技发展有限公司 一种数据治理系统以及方法
US20220276920A1 (en) * 2021-03-01 2022-09-01 Ab Initio Technology Llc Generation and execution of processing workflows for correcting data quality issues in data sets
CN115408367A (zh) * 2022-09-16 2022-11-29 杭州瓴羊智能服务有限公司 数据测试方法、存储介质和电子设备
CN116841655A (zh) * 2023-06-25 2023-10-03 中国建设银行股份有限公司 一种脚本执行方法、装置、设备、存储介质及产品

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130055042A1 (en) * 2011-08-31 2013-02-28 Accenture Global Services Limited Data quality analysis and management system
CN111241073A (zh) * 2018-11-29 2020-06-05 阿里巴巴集团控股有限公司 一种数据质量检查方法及装置
CN111897806A (zh) * 2020-06-28 2020-11-06 苏宁金融科技(南京)有限公司 大数据离线数据质量检查方法及装置
CN113946568A (zh) * 2020-07-15 2022-01-18 中投国信(北京)科技发展有限公司 一种数据治理系统以及方法
US20220276920A1 (en) * 2021-03-01 2022-09-01 Ab Initio Technology Llc Generation and execution of processing workflows for correcting data quality issues in data sets
CN113127471A (zh) * 2021-05-11 2021-07-16 数库(上海)科技有限公司 自动化数据质量检验的方法、装置、设备和存储介质
CN115408367A (zh) * 2022-09-16 2022-11-29 杭州瓴羊智能服务有限公司 数据测试方法、存储介质和电子设备
CN116841655A (zh) * 2023-06-25 2023-10-03 中国建设银行股份有限公司 一种脚本执行方法、装置、设备、存储介质及产品

Similar Documents

Publication Publication Date Title
CN108768728B (zh) 运维任务处理方法、装置、计算机设备和存储介质
US11176317B2 (en) Automated file merging through content classification
CN110515795B (zh) 一种大数据组件的监控方法、装置、电子设备
CN111258850B (zh) 一种基于Linux系统的更新软件信息的方法及装置
KR101331452B1 (ko) 데이터베이스 관리 방법 및 그를 위한 데이터베이스 관리 서버
CN111339118A (zh) 基于Kubernetes的资源变更历史记录方法及装置
CN113157315A (zh) 一种软件不同版本的差异信息识别方法、装置、设备及介质
CN111026080A (zh) 控制器的硬件在环测试方法及装置
CN110688111A (zh) 业务流程的配置方法、装置、服务器和存储介质
CN112465446A (zh) 工单数据的处理方法、装置、电子设备及存储介质
CN114650167B (zh) 一种异常检测方法、装置、设备及计算机可读存储介质
WO2014120139A1 (en) Acquiring identification of an application lifecycle management entity associated with similar code
CN114003269A (zh) 组件处理方法、装置、电子设备及存储介质
US20170109331A1 (en) Managing changes to a document in a revision control system
CN113792274A (zh) 一种信息管理方法、管理系统和存储介质
CN112631763A (zh) 一种主机程序的程序变更方法及装置
CN111694724B (zh) 分布式表格系统的测试方法、装置、电子设备及存储介质
CN117131037A (zh) 一种数据质量检测方法、装置、系统及智能车辆
WO2022083236A1 (zh) 动画视频备份方法及其装置、管理方法及其装置
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
CN112181407A (zh) 业务实现处理方法及装置、系统、电子设备和存储介质
US11934294B2 (en) Generating and debugging bytecode for a rule
US20190238400A1 (en) Network element operational status ranking
CN112035174B (zh) 运行web服务的方法、装置及计算机存储介质
CN106293897B (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