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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 【开源项目推荐】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支持如下的数据源。

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


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
27天前
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
|
数据采集 存储 安全
「集成架构」ETL工具大比拼:Talend vs Pentaho
「集成架构」ETL工具大比拼:Talend vs Pentaho
|
3月前
|
数据采集 网络协议 安全
|
6月前
|
敏捷开发 测试技术 持续交付
Python 的软件开发实践:解释什么是敏捷开发和持续集成(Continuous Integration)?
Python 的软件开发实践:解释什么是敏捷开发和持续集成(Continuous Integration)?
66 0
|
安全 Java 测试技术
推荐一款Diffy:Twitter的开源自动化测试工具
推荐一款Diffy:Twitter的开源自动化测试工具
550 0
推荐一款Diffy:Twitter的开源自动化测试工具
|
存储 Kubernetes Cloud Native
云原生渐进式交付,刷 Argo CD 技术文档之 Understand The Basics & Core Concepts 篇
云原生渐进式交付,刷 Argo CD 技术文档之 Understand The Basics & Core Concepts 篇
140 0
|
SQL JavaScript MySQL
简单介绍我的开源小工具:SanicDB
SanicDB 是为 Python的异步 Web 框架 Sanic 方便操作MySQL而开发的工具,是对 aiomysql.Pool 的轻量级封装。Sanic 是异步IO的Web框架,同时用异步IO读写MySQL才能更大发挥它的效率。
1814 0
下一篇
无影云桌面