Great Expectations 期望套件操作指南:CRUD操作详解

Great Expectations 期望套件操作指南:CRUD操作详解

great_expectations Always know what to expect from your data. great_expectations 项目地址: https://gitcode.com/gh_mirrors/gr/great_expectations

什么是期望套件

在Great Expectations项目中,期望套件(Expectation Suite)是数据质量验证的核心组件。它包含一组针对数据的期望(Expectations),这些期望定义了数据应该满足的条件。期望套件允许用户在不重新运行验证的情况下,对期望执行创建、读取、更新和删除(CRUD)操作。

期望匹配机制

所有CRUD操作都依赖于两个关键参数:

  1. expectation_configuration:期望配置对象,用于确定该期望是否已存在于套件中

    • 可以是完整的或部分的ExpectationConfiguration
    • 包含期望类型和相关的参数
  2. match_type:匹配类型字符串,决定匹配标准

    • domain:检查两个期望配置是否应用于相同数据(最宽松的匹配)
    • success:除domain参数外,还包括评估期望成功与否的参数(如mostly、max等)
    • runtime:最严格的匹配,包括domain、success和运行时配置参数

添加或更新期望

使用add_expectation_configuration方法可以向套件添加新期望或更新现有期望:

suite.add_expectation_configuration(
    expectation_configuration,
    match_type,
    overwrite_existing
)

该方法的行为逻辑如下:

  1. 如果未找到匹配期望,则添加新期望
  2. 如果找到匹配期望且overwrite_existing=True,则更新该期望
  3. 如果找到多个匹配期望,将抛出错误(需更具体的匹配条件)

最佳实践:对于关键数据验证,建议使用runtime级别的匹配,确保期望的精确性;对于常规检查,domain级别的匹配可能足够。

删除期望

使用remove_expectation方法可以从套件中删除期望:

suite.remove_expectation(
    expectation_configuration, 
    match_type, 
    remove_multiple_matches
)

该方法的行为逻辑:

  1. 找到一个匹配期望时,删除它
  2. 找到多个匹配期望时:
    • remove_multiple_matches=False:抛出错误
    • remove_multiple_matches=True:删除所有匹配期望
  3. 未找到匹配期望时抛出错误

使用验证器操作期望

当使用验证器(Validator)交互式工作时,可以直接调用验证器的相应方法:

validator.remove_expectation(
    expectation_configuration, 
    match_type, 
    remove_multiple_matches
)

实际应用场景:在数据管道开发过程中,随着对数据理解的深入,经常需要调整期望。例如:

  • 发现某个列的值范围比预期更广时,更新expect_column_values_to_be_between期望
  • 当不再需要检查某些数据质量指标时,删除相关期望
  • 添加新的业务规则作为期望

总结

Great Expectations的期望套件操作提供了灵活的数据质量规则管理能力。通过理解匹配类型和操作方法,数据工程师可以高效维护数据验证规则,确保数据质量检查与业务需求保持同步。掌握这些操作是构建健壮数据质量保障体系的关键步骤。

great_expectations Always know what to expect from your data. great_expectations 项目地址: https://gitcode.com/gh_mirrors/gr/great_expectations

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓禄嘉Ernestine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值