mcpField
G
great-expectations

great-expectations

github.com/majesticlabs-dev数据与数据库5054 次安装7 周前更新
代码仓库

关于 great-expectations

面向构建数据管道的数据工程师的 Great Expectations 技能,提供基于期望的验证与监控模式。它封装了 DataFrame 资产、期望套件和验证运行流程,并可生成 HTML 数据文档。

主要功能

  1. 01创建 Pandas 数据上下文和资产
  2. 02按列配置基础期望套件
  3. 03运行检查点验证
  4. 04生成 HTML 数据文档

适用场景

  1. 01验证数据管道中的表格和列
  2. 02检查空值、范围、唯一性与格式
  3. 03为验证结果生成文档

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/majesticlabs-dev/majestic-marketplace --skill great-expectations

安装后在 Claude Code 中输入/great-expectations确认已加载。

附带文件scripts/expectations.py

详细介绍

Great Expectations

受众: 构建经过验证的数据管道的数据工程师。

目标: 提供基于期望的数据验证和监控 GX 模式。

脚本

从 scripts/expectations.py 执行 GX 函数:

from scripts.expectations import (
    get_pandas_context,
    add_dataframe_asset,
    create_basic_suite,
    run_validation
)

使用示例

快速设置
from scripts.expectations import get_pandas_context, add_dataframe_asset

context, datasource = get_pandas_context("my_datasource")
batch_request = add_dataframe_asset(datasource, "users", df)
创建期望套件
from scripts.expectations import create_basic_suite

columns_config = {
    'user_id': {'not_null': True, 'unique': True, 'type': 'int'},
    'age': {'min': 0, 'max': 150},
    'status': {'values': ['active', 'inactive', 'pending']},
    'email': {'regex': r'^[\w\.-]+@[\w\.-]+\.\w+$'}
}

suite = create_basic_suite(context, "user_suite", columns_config)
运行验证
from scripts.expectations import run_validation

results = run_validation(
    context,
    checkpoint_name="user_checkpoint",
    batch_request=batch_request,
    suite_name="user_suite"
)

if results['success']:
    print("All expectations passed!")
else:
    for failure in results['failures']:
        print(f"Failed: {failure['expectation']} on {failure['column']}")

常见期望参考

类别期望描述
表ExpectTableRowCountToBeBetween行数范围
存在性ExpectColumnToExist列必须存在
空值ExpectColumnValuesToNotBeNull不含空值
范围ExpectColumnValuesToBeBetween值的上下限
集合ExpectColumnValuesToBeInSet允许的值
模式ExpectColumnValuesToMatchRegex正则表达式匹配
唯一性ExpectColumnValuesToBeUnique不含重复项

数据文档

# Build and open HTML reports
context.build_data_docs()
context.open_data_docs()

目录结构

great_expectations/
├── great_expectations.yml     # Config
├── expectations/              # Expectation suites (JSON)
├── checkpoints/               # Checkpoint definitions
├── plugins/                   # Custom expectations
└── uncommitted/
    ├── data_docs/            # Generated HTML docs
    └── validations/          # Validation results

何时使用 Great Expectations

使用场景GX替代方案
管道监控✓-
数据仓库验证✓-
自动生成数据文档✓-
简单的 DataFrame 检查-Pandera
记录级 API 验证-Pydantic

依赖项

great_expectations>=0.18
pandas

评论

支持 Markdown