用途:面向构建已验证数据管道的数据工程师,提供基于期望(Expectation)的验证与监控模式,用于管道监控、数据仓库校验和自动生成数据文档。
主要能力:通过期望套件(Expectation Suite)定义列级与表级规则,常见期望包括 ExpectTableRowCountToBeBetween(行数范围)、ExpectColumnToExist(列存在)、ExpectColumnValuesToNotBeNull(非空)、ExpectColumnValuesToBeBetween(值范围)、ExpectColumnValuesToBeInSet(允许值集合)、ExpectColumnValuesToMatchRegex(正则匹配)、ExpectColumnValuesToBeUnique(唯一性)。配合检查点(Checkpoint)运行验证,并可用 context.build_data_docs() 与 context.open_data_docs() 生成并打开 HTML 报告。
使用方式:从 scripts/expectations.py 导入函数,如 get_pandas_context、add_dataframe_asset、create_basic_suite、run_validation。先创建上下文与数据源,再添加 DataFrame 资产获得 batch_request;随后用 columns_config 字典配置列规则(如 not_null、unique、type、min、max、values、regex)创建套件;最后调用 run_validation 传入 checkpoint_name、batch_request、suite_name,根据返回的 success 与 failures 判断结果。目录结构包含 great_expectations.yml 配置、expectations/ 套件 JSON、checkpoints/ 检查点定义、plugins/ 自定义期望,以及 uncommitted/ 下的 data_docs/ 与 validations/。
适用场景:管道监控、数据仓库验证、自动数据文档。简单 DataFrame 检查可考虑 Pandera,记录级 API 校验可考虑 Pydantic。
限制:依赖 great_expectations>=0.18 与 pandas;资料未提供收费、价格、平台支持范围及具体性能数据。