登录
主页
开源数据可观测性平台(Datavines)
2025-01-22
  
920
极深®数据
Datavines是一款开源的数据可观测性平台。2024 年左右,Datavines 项目正式在 GitHub 上开源。初始版本可能重点实现了一些基础的数据质量监控功能,如支持对常见数据源(如 MySQL、PostgreSQL 等)的数据连接,内置了部分基本的数据质量检查规则,像空值检查、数据类型检查等。
功能完善与扩展阶段:开源后,团队持续对 Datavines 进行功能完善和扩展。增加了更多的数据源支持,包括 Impala、StarRocks、Doris、Presto、Trino、ClickHouse、Oracle、SQL Server、DM 等。同时丰富了检查规则,扩展到 27 个检查规则。此外还引入了多种作业执行引擎,支持 spark 和 local 两种执行引擎。告警通道也得到了扩展,实现了对邮件、飞书、钉钉和企微的支持。错误数据存储方面,支持了 MySQL 和本地文件。
项目地址:https://github.com/datavane/datavines
一、核心功能
1.数据目录管理:能定时获取数据源元数据以构建数据目录,可定时监听元数据的变更情况,还支持对元数据进行标签管理,让数据资产更加清晰明了。
2.数据质量监控:内置27种数据质量检查规则,涵盖单表单列检查、单表自定义SQL检查、跨表准确性检查、两表值比对检查4种类型。支持用户通过自定义SQL的方式编写特定的业务检查逻辑,可配置定时任务对数据质量进行定时检查,也能配置SLA用于检查结果告警。
3.数据概览报告:可定时生成数据概览报告,自动识别列类型,帮助用户理解数据分布,及时发现异常趋势,辅助用户快速了解和评估数据状态。
二、技术特点
1.插件化设计:平台以插件化设计为核心,数据源、检查规则、作业执行引擎、告警通道、错误数据存储、注册中心等模块都支持用户自定义插件进行扩展。
2.多种运行模式:提供Web页面,方便用户配置检查作业、运行作业、查看作业执行日志、查看错误数据和检查结果。支持在线生成作业运行脚本,可与调度系统配合使用,方便灵活。
3.部署简单&高可用:平台依赖少,最小仅依赖MySQL即可启动项目,完成数据质量作业的检查。支持水平扩容,无中心化设计,server节点支持水平扩展以提高性能,作业自动容错,保证作业不丢失和不重复执行。
三、数据质量规则
1.单表单列检查
空值检查:用于检测列中是否存在空值,确保数据的完整性。比如在用户信息表中,检查“姓名”列是否有空值,如果存在空值,可能会影响后续对用户数据的处理和分析。
数据类型检查:验证列的数据类型是否符合预期,防止数据录入错误。例如,在“年龄”列中,应该存储整数类型的数据,如果出现字符串类型的数据,就会导致数据质量问题。
唯一性检查:判断列中的数据是否唯一,避免出现重复记录。以订单表中的“订单编号”列为例,每个订单编号应该是唯一的,不允许有重复值,否则会导致数据混乱。
正则表达式检查:通过正则表达式来验证数据是否符合特定的格式要求。比如,在电话号码列中,使用正则表达式检查是否符合电话号码的格式规范。
枚举值检查:检查列中的值是否在指定的枚举范围内。例如,在“性别”列中,值应该只能是“男”或“女”,如果出现其他值,则不符合数据质量要求。
2.单表自定义SQL检查
自定义聚合SQL规则:用户可编写SQL实现特定数据质量检查逻辑,如`select count(1) as actual_value from ${table}`用于统计行数。
数据范围检查:用户可以通过自定义SQL检查列中的数据是否在指定的范围内。比如,在“价格”列中,检查价格是否在合理的区间内,防止出现异常的高价或低价。
数据完整性检查:通过编写自定义SQL查询,检查表中的数据是否完整,例如检查是否存在缺失的关键数据。
3.跨表准确性检查
外键约束检查:检查两张表之间的外键关系是否正确,确保数据的一致性。例如,在订单表和用户表中,订单表中的“用户ID”应该与用户表中的“ID”相对应,通过外键约束检查可以发现是否存在不匹配的情况。
数据一致性检查:比较两张表中相关数据是否一致。比如,在库存表和销售表中,检查某种商品的库存数量和销售数量是否符合逻辑关系,防止出现数据不一致的问题。
4.两表值比对检查
列值比对:比较两张表中特定列的值是否相等或满足特定的条件。例如,比较员工表和薪资表中员工的姓名和工号是否一致,确保薪资数据与员工信息对应正确。
统计值比对:对比两张表中某些列的统计值,如平均值、总和等是否符合预期。比如,对比销售表中按月份统计的销售额和财务报表中相应月份的销售额是否一致。
5.自定义规则
用户可以通过开发新插件或编写自定义SQL的方式来新增自己的规则。如在遇到特殊业务场景,内置规则无法满足需求时,用户可自定义规则来检查数据是否符合特定的业务逻辑,像根据特定的业务规则检查数据的关联性、合规性等。
四、应用场景
在金融风控领域可通过定期的数据质量检查,确保客户信息和交易记录的准确性,为风险评估和决策提供可靠的数据支持。
电商利用其数据剖面报告能快速洞察商品库存状态和销售趋势,帮助电商企业优化库存管理、制定营销策略。
1.数据仓库与数据分析
数据质量保障:在数据仓库的建设和维护过程中,Datavines可对抽取、转换、加载(ETL)过程中的数据进行质量监控,确保进入数据仓库的数据准确、完整。例如,通过设置数据质量检查规则,检查数据是否存在缺失值、重复值,数据格式是否正确等,及时发现并解决数据问题,为数据分析提供可靠的数据基础。
数据一致性检查:对于数据仓库中来自不同数据源的数据,Datavines能够检查数据在不同表之间、不同维度之间的一致性。比如,检查事实表和维度表之间的关联关系是否正确,确保数据分析结果的准确性和可靠性。
数据趋势分析:利用Datavines生成的数据概览报告,分析师可以快速了解数据的分布情况和变化趋势,发现数据中的异常点,为深入的数据分析提供线索。
2.大数据处理与流计算
实时数据监控:在大数据处理和流计算场景中,Datavines可以实时监控数据的流入和处理情况,对实时数据进行质量检查和异常检测。例如,在物联网数据处理中,实时监测传感器数据的质量,及时发现数据异常,保障数据的实时性和准确性。
数据管道管理:Datavines能够对大数据处理中的数据管道进行管理和监控,确保数据在各个处理环节之间的顺畅流动。通过检查数据在不同阶段的处理结果,及时发现数据丢失、延迟等问题,保障数据处理的稳定性和可靠性。
流数据质量评估:对于流数据,Datavines可以根据业务规则对流数据进行实时质量评估,如对实时交易数据进行准确性和完整性检查,及时发现异常交易,为实时决策提供支持。
3.机器学习与人工智能
训练数据质量控制:在机器学习和人工智能模型训练过程中,数据质量对模型的性能和准确性至关重要。Datavines可以对训练数据进行质量监控,检查数据是否存在偏差、噪声等问题,确保训练数据的质量,提高模型的训练效果。
数据漂移检测:随着时间的推移,数据分布可能会发生变化,即数据漂移。Datavines能够监测数据的分布变化,及时发现数据漂移现象,提醒数据科学家对模型进行调整和优化,以保证模型的稳定性和准确性。
模型评估数据管理:在模型评估阶段,Datavines可以对评估数据进行管理和质量检查,确保评估结果的可靠性。例如,检查评估数据的标注准确性,以及与训练数据的一致性等,为模型的评估和改进提供有力支持。
4.企业数据治理
数据资产盘点:企业可以利用Datavines构建数据目录,对企业内的各种数据资产进行盘点和梳理,清晰展示数据的来源、存储位置、数据结构等信息,方便数据的管理和使用。
数据标准管理:通过在Datavines中设置数据质量规则和标准,确保企业数据符合统一的数据标准,提高数据的规范性和一致性,为企业数据的共享和整合奠定基础。
数据安全与合规:Datavines可以对数据进行监控,确保数据的使用和处理符合法律法规和企业内部的安全政策。例如,检查数据是否存在敏感信息泄露的风险,保障数据的安全性和合规性。
Datavines:提供数据目录、概览及质量检查等功能,帮助用户全面了解和管理数据,确保数据的准确性和有效性,支持数据源配置、质量监控及作业管理等核心功能,部署和配置简单。
点赞数:5
© 2021 - 现在 杭州极深数据有限公司 版权所有 联系我们 
浙公网安备 33018302001059号  浙ICP备18026513号-1号