【开源项目推荐】Great Expectations—开源的数据质量工具

简介: 【开源项目推荐】Great Expectations—开源的数据质量工具

大家好,我是独孤风。

又到了本周的开源项目推荐。数据质量是企业进行数据治理非常重要的一个环节,高质量的数据对管理决策,业务支撑都有非常重要的作用。 只有持续的数据质量改进才能推动数据治理体系的完善,差劲的数据质量就如同顽固的疾病一样,如果不能得到及时的改善,最终可能会导致重大的问题。 近几年来,管理数据质量的工具层出不穷,但是能够全面的对企业数据质量进行分析与洞察的工具并不多见。 那么,有没有好用的开源的数据质量项目呢? 今天为大家推荐的开源项目,就是一个极为优秀的数据质量检查工具,开源的数据质量管理项目。让我们一起来看看吧~

概述

今天为大家推荐的开源项目名为Great Expectations。 Great Expectations是一个开源的数据质量检查工具,使用了基于机器学习的数据质量自动化管理工作流程。它可以轻松地对数据质量进行验证、建模和监控。用户以期望(expectations)的形式定义断言(assertions)。顾名思义,期望是您期望从数据中获得的质量,断言则是用声明性语言编写的。 例如,下图的断言示例定义了passenger_count列的值必须介于1和6之间。

Great Expectations根据这个规则,就会对数据进行验证,并且能够自动生成便于阅读的数据诊断报告。Great Expectations的另一个功能是自动化数据分析。它可以根据统计数据,自动从数据中生成期望。由于数据质量工程师不必从头开始编写断言,因此大幅节省了开发的时间。一旦各种预期准备就绪,它们就可以被合并到数据管道中。

可在大数据流动后台回复“GreatExpectations”获取安装包,源代码与学习资料。

功能演示

请参考大数据流动视频号的功能演示:

大数据流动

,赞2

如何安装?

整个Great Expectations的使用流程如下图所示。

需要python版本为 3.8 到 3.11。

可以用下面的命令进行安装。

pip install great_expectations

如果要在python代码中使用,可以这样引入。

import great_expectations as gx

随后建立一个上下文。

context = gx.get_context()

连接数据。

validator = context.sources.pandas_default.read_csv(
    "https://raw.githubusercontent.com/great-expectations/gx_tutorials/main/data/yellow_tripdata_sample_2019-01.csv"
)

定义一个期望

validator.expect_column_values_to_not_be_null("pickup_datetime")
validator.expect_column_values_to_be_between(
    "passenger_count", min_value=1, max_value=6
)
validator.save_expectation_suite()

定义一个检查点。

checkpoint = context.add_or_update_checkpoint(
    name="my_quickstart_checkpoint",
    validator=validator,
)

随后执行就可以了。

checkpoint_result = checkpoint.run()

如果要查看结果可以执行下面的命令。

context.view_validation_result(checkpoint_result)

支持的数据源

目前Great Expectations支持如下的数据源。

更多大数据,数据治理,人工智能知识分享,开源项目推荐,学习社群加入,请关注大数据流动。


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
8月前
|
测试技术 持续交付 开发工具
在 ABAP 技术栈里实施 Continuous Integration 的一些挑战
在 ABAP 技术栈里实施 Continuous Integration 的一些挑战
37 0
|
12月前
|
数据采集 存储 安全
「集成架构」ETL工具大比拼:Talend vs Pentaho
「集成架构」ETL工具大比拼:Talend vs Pentaho
|
12月前
|
SQL 数据可视化 NoSQL
可视化探索开源项目的 contributor 关系
作为国内外最大的代码托管平台,根据最新的 GitHub 数据,它拥有超 372,000,000 个仓库,其中有 28,000,000 是公开仓。分布式图数据库 NebulaGraph 便是其中之一,同其他开源项目一样,NebulaGrpah 也有自己的 contributor 们,他们是何时,通过哪个 pr 与 NebulaGraph 产生联系的呢?本文尝试用可视化方式,来探索这些 contributor 的痕迹。
39 0
可视化探索开源项目的 contributor 关系
|
12月前
|
安全 网络协议 Unix
【开源治理】MITRE : 开源软件
【开源治理】MITRE : 开源软件
|
存储 Kubernetes Cloud Native
云原生渐进式交付,刷 Argo CD 技术文档之 Understand The Basics & Core Concepts 篇
云原生渐进式交付,刷 Argo CD 技术文档之 Understand The Basics & Core Concepts 篇
107 0
|
XML 算法 测试技术
【mlflow系列5】一站式开源测试平台MeterSphere
【mlflow系列5】一站式开源测试平台MeterSphere
351 0
【mlflow系列5】一站式开源测试平台MeterSphere
|
SQL 数据可视化 BI
诸多改进!Superset 1.2.0 正式发布!
Apache Superset 是一个现代的、企业级的轻量BI平台,提供了大量数据可视化组件。 距离superset上一个版本发布已经过了近三个月的时间,我们终于等到了1.2.0版本。 之前就曾提到过Superset在不断增强与 Apache ECharts的整合。此版本继续加强这方面的改进,并且还带来了大量用户体验改进、API 改进、错误修复以及先前版本中包含的实验性功能的持续开发。
258 0
诸多改进!Superset 1.2.0 正式发布!
|
SQL UED
专注提升用户体验,Superset 1.3发布!
近期Superset发布了新的版本1.3.0,此版本专注于提升用户体验。并进行了大量的改进与错误修复。
402 0
专注提升用户体验,Superset 1.3发布!
|
安全 Java 测试技术
推荐一款Diffy:Twitter的开源自动化测试工具
推荐一款Diffy:Twitter的开源自动化测试工具
369 0
推荐一款Diffy:Twitter的开源自动化测试工具
|
SQL JavaScript MySQL
简单介绍我的开源小工具:SanicDB
SanicDB 是为 Python的异步 Web 框架 Sanic 方便操作MySQL而开发的工具,是对 aiomysql.Pool 的轻量级封装。Sanic 是异步IO的Web框架,同时用异步IO读写MySQL才能更大发挥它的效率。
1778 0