Qualitis数据质量管理系统,让异常数据无处藏身

语言: CN / TW / HK

Qualitis是微众银行开源的一款数据质量管理系统,用于解决业务系统运行、数据中心建设及数据治理过程中的各种数据质量问题。 开源链接: 

https://github.com/WeBankFinTech/Qualitis。

01

Qualitis是什么

Qualitis是一个数据质量管理系统,用于监控数据质量。它提供了一整套统一的流程来定义和检测数据集的质量并及时报告问题。

Qualitis基于Spring Boot开发,依赖于Linkis进行数据计算,提供数据质量规则构建,数据质量规则执行,数据质量任务管理,异常数据发现保存等功能。

同时它也提供了金融级数据质量规则资源隔离,资源管控,权限隔离等企业特性,具备高并发,高性能,高可用的大数据质量管理能力。

02

为什么需要Qualitis?

随着业务的发展和数据量的增加,大数据应用开发会逐步成为常用的开发方式。

而由于大数据具有以下四个特点:海量的数据规模(Volume)、快速的数据流转和动态的数据体系(Velocity)、多样的数据类型(Variety)和巨大的数据价值(Value),这就给数据的唯一性,完整性,一致性等校验带来了很大挑战。

目前普遍存在的现象是,不同的业务根据自身的业务特点,额外开发报表或检查任务,对数据进行检测,非常的费时费力。

在这种情况下,一个可配置化,可视化,可监控,可嵌入数据处理过程,并且具有普适性,能够提供通用的特性来解决数据质量问题的数据质量管理工具就显得尤为重要。

为了解决以上问题,WeBank开发了Qualitis这个数据质量管理工具。

此项目已经发布到github上,并且也在持续改进中,欢迎fork并参与进来:https://github.com/WeBankFinTech/Qualitis

03

工作流程

要检测数据质量问题,主要可以分为以下几个步骤:

  1. 创建数据质量项目

  2. 建立数据质量规则

  3. 执行数据质量任务

  4. 查看数据质量任务结果

以上每个环节的具体内容如下:

1.创建数据质量项目

数据质量项目是数据质量规则的集合,项目将数据质量规则分隔开来。

2.建立数据质量规则

创建好数据质量项目之后,可以在项目中创建数据质量规则。

Qualitis提供两种类型的数据质量规则创建方式:

1.基于模版进行数据质量规则的创建

2.自定义数据质量规则创建

Qualitis中预置了多个数据质量模版,用于简化数据质量规则的创建。

3.执行数据质量任务

Qualitis依赖于Linkis计算中间件,基于Linkis实现数据质量的计算和校验。

Qualitis在接收到数据质量任务请求时,会将规则转换成数据质量任务,并提交到Linkis中的Spark引擎进行执行,即便是大结果集数据也可以很快地被计算出来。

4.查看数据质量任务结果

执行完数据质量规则任务之后,可以查看任务的结果。

Qualitis会将该任务中的所有规则提取出来,展示给用户哪些规则没有通过校验,并给出具体的校验报告,告知用户,不符合预期的异常数据存放在哪里。

04

Qualitis的核心特性

作为一个数据质量管理系统,Qualitis提供以下四种核心特性。

1.完美的嵌入工作流

为了能够及时进行数据质量检测,防止数据质量管理和数据处理分离,Qualitis接入了DataSphere Studio工作流,实现了在工作流当中进行数据质量检测。

2.灵活的规则创建机制

Qualitis提供了基于模型驱动的数据质量管理方案。

要进行数据质量检测,首先要根据定义数据质量模型,也叫规则。

目前Qualitis提供了以下两种数据质量规则的创建方式:

  1. 基于模版的数据质量规则创建

  2. 自定义数据质量规则创建

对于常规化的质量校验需求,可以选择Qualitis预置的模版,并填入相应的参数,简简单单的就可以完成数据质量规则的定义。目前Qualitis预置了以下模版:

  1. 空值校验

  2. 逻辑校验

  3. 枚举校验

  4. 身份证校验

    ...

而对于复杂的质量校验需求,用户可以根据自己的需求来自定义质量规则。

不但如此,Qualitis也提供了丰富的度量值比较方式,包括月波动,周波动,日波动,固定值等多种比较方式,能够灵活的创建规则,监测度量值的变化。

3.强大的异常数据搜集能力

Qualitis目前提供了异常数据的搜集功能。

每次执行数据质量任务时,不仅会对度量值进行计算,还会将不符合预期的异常数据给提取出来,方便用户查看,以便快速定位问题。

4.友好的用户界面

Qualitis依赖于Linkis,基于Linkis做数据计算。当接收到数据质量任务请求时,会将数据规则转换成数据质量任务并提交到Linkis中执行。

同时,Qualitis会从Linkis中搜集任务日志信息,并进行聚合,方便用户以及管理人员对数据质量任务进行排查。

05

Qualitis和WeDataSphere

WeDataSphere是一套一站式、金融级、开源开放大数据平台套件,已在国内最大线上银行WeBank,经过了数年海量严苛金融业务场景的打磨和验证,表现卓越。

更多关于WeDataSphere的介绍,请访问: https://github.com/WeBankFinTech/WeDataSphere。

Qualitis,是WeDataSphere的数据工具组件之一。

它使用了WeDataSphere核心组件数据中间件Linkis,进行数据计算,并接入了DataSphere Studio,实现了在工作流当中进行数据质量检测。

DataSphere Studio也于同期开源。关于DataSphere Studio请访问 https://github.com/WeBankFinTech/DataSphere Studio

06

总结

Qualitis作为数据质量管理系统,提供了一整套统一的流程来定义和检测数据集的质量并及时报告问题。

我们的目标是简化异常数据的发现,提高数据质量,方便数据的管理。

我们今后将会不断改进,支持对更多数据源进行数据质量校验。

如您感兴趣,欢迎访问开源Github: https://github.com/WeBankFinTech/Qualitis

期待更多的社区力量,一起推动Qualitis的成长。

分享到: