Qualitis是微众银行开源的数据质量管理系统,专注于解决业务系统运行、数据中心建设及数据治理过程中的数据质量问题,提供了多种数据质量检测方法和自动生成报告的功能。
一、核心功能
1.数据质量模型定义:支持单表、多表以及自定义等多种数据质量模型,还预设了空值检查、空白检查、数值检查、枚举检查等常见的数据质量验证模板,简化了数据质量模型的定义工作。
2.数据质量模型调度:可根据设定的时间或事件触发数据质量模型的执行,实现定期或不定期的数据质量检测。
3.数据质量报告生成:能够生成详细的数据质量报告,展示数据质量的评估结果、问题分布等信息,为数据治理和决策提供依据。
4.异常数据管理:支持异常数据的存储和查询,方便用户快速定位和分析数据质量问题。
5.日志管理:记录数据质量任务的执行日志,便于排查任务执行过程中的问题。
二、技术特点
1.基于Spring Boot开发:具有良好的可扩展性和兼容性,能够方便地与其他系统进行集成。
2.依赖Linkis进行数据计算:借助Linkis的强大计算能力,高效地执行数据质量检测任务,提高检测效率。
3.以Spark SQL查询操作为主:充分利用Spark SQL的性能优势,实现对大规模数据的快速处理和分析。
三、优势亮点
1.可视化界面:提供了用户友好的Web界面,无需编程即可通过直观的UI配置数据质量检查规则,降低了使用门槛,使非技术人员也能轻松上手。
2.灵活的集成能力:支持与常见的大数据平台(如Hadoop、Spark、Flink)以及数据库系统(如MySQL、Oracle等)集成,能够融入现有的数据处理流程,方便在不同的环境中使用。
3.实时监控能力:除了批量检查外,还能实现实时数据流的质量监控,满足实时分析和流式数据处理场景的需求。
4.可扩展性强:采用模块化设计,允许开发者根据需要添加新的检查规则或自定义插件,以满足特定业务需求。
5.企业级特性:提供金融级的数据质量规则资源隔离、管理和访问控制,确保在高并发、高性能、高可用的场景下稳定运行。
四、部署和实施
1.环境准备
服务器配置:根据企业的数据量和使用需求,准备足够性能的服务器。建议配置多核CPU、较大内存和高速存储,以确保平台能够高效运行。
软件依赖安装:安装Java 8或更高版本,因为Qualitis是基于Java开发的。同时,需要安装Maven作为项目构建工具,用于下载和管理项目依赖包 。
数据库准备:安装并配置支持的数据库,如MySQL、Oracle等,用于存储Qualitis的元数据、规则配置、任务执行记录等信息。
大数据平台集成:如果企业使用了Hadoop、Spark、Flink等大数据平台,需要确保这些平台的正常运行,并进行相应的配置,以便Qualitis能够与之集成,实现对大数据的质量检测。
2.安装与配置
下载源代码:从Qualitis的官方GitHub仓库(https://github.com/WeBankFinTech/Qualitis)或指定的开源代码托管平台下载最新的源代码包。
项目编译与打包:使用Maven在下载的源代码目录下执行编译命令,将项目编译成可执行的JAR包或WAR包。例如,在命令行中进入项目根目录,执行`mvn clean install`命令进行编译和打包。
配置文件修改:根据企业的实际环境,修改配置文件。主要包括数据库连接配置、Linkis平台连接配置、日志配置等。这些配置文件通常位于`src/main/resources`目录下,如`application.properties`或`application.yml`,根据实际情况修改其中的相关参数,如数据库的URL、用户名、密码,Linkis的服务地址等。
部署应用:将编译好的JAR包或WAR包部署到应用服务器上。如果是JAR包,可以使用`java jar`命令直接运行;如果是WAR包,则需要部署到支持Java Web应用的服务器,如Tomcat、Jetty等。
3.数据连接与集成
数据源配置:登录Qualitis的Web界面,进入数据源管理模块,添加企业中需要进行数据质量检测的数据源。根据数据源的类型,填写相应的连接信息,如数据库的IP地址、端口、数据库名称、用户名、密码等,使Qualitis能够连接到企业的各种数据存储系统。
数据集成配置:对于与大数据平台的集成,需要在Qualitis中配置相关的参数,以实现与Hadoop、Spark等平台的交互。例如,配置Spark的Master地址、Hadoop的HDFS地址等,确保Qualitis能够在大数据环境中顺利执行数据质量检测任务。
4.规则定义与管理
创建数据质量规则:依据企业的数据质量要求和业务规则,使用Qualitis提供的可视化界面创建数据质量规则。规则可以包括单表规则、多表关联规则、自定义规则等。例如,定义检查某张表的某个字段是否允许为空值、某两个字段之间的逻辑关系是否正确等规则。
规则模板管理:利用规则模板功能,将常用的规则定义成模板,方便在不同的数据集或项目中重复使用,提高规则创建的效率。同时,可以对规则模板进行权限管理,确保只有授权的用户能够修改和使用特定的模板。
规则调度配置:为数据质量规则设置执行调度计划,可以选择定时执行,如每天、每周、每月的特定时间执行;也可以根据事件触发执行,如在数据更新后自动执行质量检测。通过合理的调度配置,确保数据质量能够得到及时有效的监控。
5.用户与权限管理
用户创建与管理:在Qualitis中创建企业内部的用户账号,并根据用户的职责和权限需求,为其分配相应的角色。例如,系统管理员、数据管理员、数据分析师等角色,每个角色具有不同的操作权限。
权限分配:根据用户角色,为其分配具体的权限,如规则创建、规则执行、数据源管理、报告查看等权限。通过细粒度的权限控制,确保数据质量平台的安全性和数据的保密性,防止未经授权的用户访问和操作敏感数据。
6.监控与优化
任务监控:通过Qualitis的任务监控界面,实时查看数据质量检测任务的执行状态、执行进度、执行时间等信息。及时发现任务执行过程中出现的问题,如任务失败、执行时间过长等,并进行相应的处理。
性能优化:根据任务监控的数据和系统的运行情况,对Qualitis平台进行性能优化。例如,优化数据库查询语句、调整服务器参数、增加资源配置等,以提高数据质量检测的效率和平台的整体性能。
数据质量报告分析:定期分析Qualitis生成的数据质量报告,了解企业数据质量的整体状况和变化趋势。根据报告中的问题和建议,采取相应的措施进行数据治理和质量改进,如数据清洗、数据修复、流程优化等,不断提升企业的数据质量水平。
五、应用场景
作为企业级数据治理体系的关键组件,用于持续监控数据质量,确保数据资产的价值。
在ETL过程中,帮助提前发现数据质量问题,减少后续分析的误差。数据分析师可以在分析前用Qualitis对数据进行预检,保证数据质量,提高分析结果的可靠度。
1.数据治理
数据质量监控:在企业级的数据治理体系中,Qualitis可作为关键组件,对数据资产进行持续监控,定期或实时地检查数据的准确性、完整性、一致性等质量指标,确保数据符合企业设定的质量标准,维护数据资产的价值。
数据标准落地:企业制定的数据标准往往需要在各个业务环节和数据处理流程中得到有效执行。Qualitis可以依据这些标准定义相应的数据质量规则,对数据进行校验,从而保障数据在产生、存储、传输和使用等过程中都能遵循统一的标准,促进数据的规范化管理。
数据质量管理流程优化:通过收集和分析Qualitis生成的数据质量报告,企业能够深入了解数据质量问题的分布、趋势和根源,进而有针对性地优化数据质量管理流程,例如调整数据清洗和转换规则、加强数据录入的审核机制等,不断提升数据质量。
2.数据分析与数据科学
数据预处理质量保障:在进行数据分析和数据挖掘之前,数据分析师可以利用Qualitis对原始数据进行质量检查,提前发现并解决数据中的缺失值、异常值、重复数据等问题,为后续的分析工作提供高质量的数据基础,提高分析结果的准确性和可靠性。
特征工程质量把控:在特征工程阶段,Qualitis能够帮助确保所提取和构建的特征符合预期的质量要求。例如,检查特征的取值范围、分布情况是否合理,特征之间是否存在相关性过高或逻辑矛盾等问题,从而提升模型训练的效果和稳定性。
模型评估数据质量验证:对于用于模型训练和评估的数据,Qualitis可以验证其质量,确保数据的一致性和准确性,避免因数据质量问题导致模型评估结果出现偏差,为数据科学项目提供可靠的数据支持。
3.数据仓库与ETL过程
ETL数据质量校验:在ETL流程中,Qualitis可以嵌入到各个环节,对抽取、转换和加载的数据进行实时或定期的质量检测。例如,在数据抽取阶段检查数据源的连通性和数据的可用性,在转换阶段验证数据的转换规则是否正确执行,在加载阶段确保数据能够准确无误地加载到目标数据仓库中,从而提高ETL过程的可靠性和数据质量。
数据仓库元数据管理:Qualitis可以与数据仓库的元数据管理相结合,对元数据的质量进行管理和监控。通过检查元数据的完整性、准确性和一致性,确保数据仓库中的数据能够被正确地理解和使用,提高数据仓库的可管理性和数据的可用性。
数据仓库性能优化:通过对数据仓库中的数据质量进行监控和分析,Qualitis能够发现可能影响数据仓库性能的数据质量问题,如数据冗余、数据碎片化等。企业可以根据这些信息对数据仓库进行优化,提高查询性能和数据处理效率。
4.金融领域
风险评估与信用评级:在金融机构中,风险评估和信用评级等业务对数据质量要求极高。Qualitis可以确保用于风险评估和信用评级的数据准确、完整且可靠,从而提高风险识别的准确性和信用评级的公正性,帮助金融机构更好地管理风险,做出合理的决策。
财务报表与合规性:对于财务数据的处理和报表生成,Qualitis能够保障数据的质量和合规性,确保财务报表中的数据符合会计准则和监管要求。通过对财务数据的严格质量控制,金融机构可以避免因数据错误而导致的财务风险和合规问题。
金融交易数据监控:在金融交易过程中,Qualitis可以实时监控交易数据的质量,及时发现异常交易和数据错误,保障交易的顺利进行和金融市场的稳定运行 。
5.电商行业
商品数据管理:电商平台需要管理大量的商品信息,包括商品的基本属性、库存、价格等。Qualitis可以确保这些商品数据的质量,保证商品信息的准确展示,提高用户购物体验,同时也有助于电商企业进行库存管理和价格策略制定。
订单数据处理:从订单的生成、支付到配送等环节,都会产生大量的订单数据。Qualitis能够对订单数据进行质量监控,确保订单数据的完整性和准确性,避免因订单数据错误而导致的交易纠纷和物流配送问题,提高电商企业的运营效率和客户满意度。
用户行为数据分析:通过对用户在电商平台上的浏览、搜索、购买等行为数据进行质量把控,Qualitis可以帮助电商企业更准确地了解用户需求和行为模式,为精准营销、个性化推荐等业务提供可靠的数据支持,提升企业的竞争力 。
6.物联网(IoT)领域
设备数据采集与监控:在物联网环境中,大量的设备会产生海量的实时数据。Qualitis可以对设备数据的采集过程进行质量监控,确保数据能够准确、完整地从设备传输到数据中心,及时发现设备数据采集过程中的异常情况,保障设备的正常运行和数据的可用性。
传感器数据质量评估:对于各种传感器采集到的数据,如温度、湿度、压力等,Qualitis可以评估其数据质量,检查数据是否在合理的取值范围内,是否存在数据缺失或异常波动等问题。通过对传感器数据的质量控制,可以提高基于物联网数据的分析和决策的准确性,例如实现对设备故障的预测和预警。
物联网数据集成与共享:当物联网数据需要与其他系统进行集成和共享时,Qualitis可以确保数据在不同系统之间的一致性和准确性,解决数据格式不统一、语义不一致等问题,促进物联网数据的有效利用和价值挖掘。