Great Expectations 数据验证快速上手指南:六步从安装到读懂验证报告

发布时间:2026/9/14 18:40:19

Great Expectations 数据验证快速上手指南:六步从安装到读懂验证报告 Great Expectations 数据验证快速上手指南六步从安装到读懂验证报告【免费下载链接】great_expectationsAlways know what to expect from your data.项目地址: https://gitcode.com/GitHub_Trending/gr/great_expectationsGreat Expectations 是一个开源数据验证框架它把「数据质量检查」从散落在各个脚本里的手写断言变成可复用、可文档化、可调度执行的测试。本教程用一份用户行为日志 CSV 做示例数据走完完整链路装好框架、创建数据上下文、登记数据源、写三条数据期望Expectation、跑一次验证、打开报告。一条命令装好 Great ExpectationsGreat Expectations 支持 Python 3.10 到 3.13官方建议在虚拟环境中部署避免和系统里已有的包互相污染。建环境、激活、安装三步走完python -m venv gx_env source gx_env/bin/activate pip install great_expectations⚠️ Windows 下激活命令是gx_env\Scripts\activate如果系统里装过旧版 Great Expectations先在虚拟环境外确认pip list里没有残留避免版本混用。安装包已带齐 Pandas 等核心依赖装完即可进入下一步。创建数据上下文整个项目的家数据上下文Data Context是 Great Expectations 的核心对象数据源、期望套件、验证定义、检查点、报告站点全都挂在它下面。在准备存放项目的空目录里执行import great_expectations as gx context gx.get_context()get_context()会自动检测当前目录已有配置就加载没有就生成一个文件型上下文并顺手搭好项目骨架。数据上下文落在磁盘上是什么样当前目录会多出一个great_expectations/子目录里面是主配置great_expectations.yml、期望套件与验证结果的存储目录以及 Data Docs 报告站点的位置。后面所有操作本质上都是在往这个上下文里登记对象。登记数据源指向行为日志假设行为日志放在data/user_events.csv有user_id、event_type、event_time三列。登记数据源分三步圈定文件夹、声明 CSV 资产、指向具体文件data_source context.data_sources.add_pandas_filesystem( nameuser_events_source, base_directory./data, ) csv_asset data_source.add_csv_asset(nameuser_events) batch_definition csv_asset.add_batch_definition_path( nameuser_events_batch, pathuser_events.csv, )这三层对象各司其职数据源Data Source描述数据从哪来数据资产Data Asset描述哪一类文件批次定义Batch Definition描述验证哪一份具体文件。真正执行验证时加载进内存的是批次定义对应的数据。以后日志按月分目录也可以换成按正则批量匹配的方式模式不变。写三条数据期望期望Expectation就是写给数据的测试用例。先建一个期望套件Expectation Suite挂上前两条规则expectation_suite context.suites.add(gx.ExpectationSuite(nameuser_events_suite)) expectation_suite.add_expectation( gx.expectations.ExpectColumnValuesToNotBeNull(columnuser_id) ) expectation_suite.add_expectation( gx.expectations.ExpectColumnValuesToBeInSet( columnevent_type, value_set[page_view, page_load, purchase, user_signup], ) )第一条要求user_id不能有空值第二条限定event_type只能取四种事件名。再补一条时间窗规则expectation_suite.add_expectation( gx.expectations.ExpectColumnValuesToBeBetween( columnevent_time, min_value2024-01-01, max_value2024-12-31, ) )内置的期望类型有几十种非空、唯一性、取值范围、枚举、分布、列间关系都能覆盖还可以给规则加mostly参数容忍少量异常值。跑通流程上面三条足够。把数据和规则绑起来执行一次验证规则和数据各自都不产生作用绑到一起才生效。要登记两个对象验证定义Validation Definition负责哪份数据用哪套规则检查点Checkpoint负责跑哪些验证、跑完做什么validation_definition context.validation_definitions.add( gx.ValidationDefinition( nameuser_events_validation, databatch_definition, suiteexpectation_suite, ) ) checkpoint context.checkpoints.add( gx.Checkpoint( nameuser_events_checkpoint, validation_definitions[validation_definition], actions[gx.checkpoint.actions.UpdateDataDocsAction(nameupdate_data_docs)], ) ) result checkpoint.run()result[success]为 True 表示所有期望都通过actions列表还能挂 Slack 通知、结果回写对象存储等动作每个动作一行代码官方文档有完整清单。生成并阅读 Data Docs 报告验证结果不该只留在result变量里。Great Expectations 能把历次结果编译成一个可浏览的静态站点叫 Data Docscontext.build_data_docs() context.open_data_docs()第一行把静态 HTML 写进 data_docs 目录第二行直接在浏览器打开。报告怎么读站点首页是每次验证的总体通过情况点进单次验证能看到每条 Expectation 的判定结果、观测值和样本统计。失败的期望会展开「失败行预览」像下面这张截图还附带一段可直接运行的取数代码方便你定位到具体坏行提示第一次跑几乎必然有期望失败这很正常。数据验证的价值在于把数据可能有问题变成确切知道哪些行有问题失败报告本身就是资产。把验证接进日常工作流到这里整条链路已经闭环每来一份新数据调一次checkpoint.run()就能出验证结果并自动刷新报告。要上调度只需把这段调用包成一个脚本交给 Airflow、Prefect 或系统 cron 按时触发也可以改用great_expectations命令行工具在 CI 里执行。SQL 类数据源PostgreSQL、Snowflake 等与期望参数化的写法可以照着仓库 docs/docusaurus/docs/core/ 目录下的入门教程延伸结构和刚才跑通的流程一致。下一步行动给你的检查点 actions 加一个 Slack 通知动作具体做法见官方文档的 Trigger Actions 章节和 GitHub 仓库中的示例。【免费下载链接】great_expectationsAlways know what to expect from your data.项目地址: https://gitcode.com/GitHub_Trending/gr/great_expectations创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/14 18:40:19

如何在 Windows 上安装 MongoDB 并连接本地服务?

如何在 Windows 上安装 MongoDB 并连接本地服务? 【免费下载链接】toBeBetterJavaer 一份通俗易懂、风趣幽默的Java学习指南,内容涵盖Java基础、Java并发编程、Java虚拟机、Java企业级开发、Java面试等核心知识点。学Java,就认准二哥的Java进…

2026/9/14 18:35:19

xManager 上手指南:3分钟任意升级、降级与安装Spotify版本

xManager 上手指南:3分钟任意升级、降级与安装Spotify版本 【免费下载链接】xManager Ad-Free, New Features & Freedom 项目地址: https://gitcode.com/GitHub_Trending/xm/xManager 想换一个指定版本的Spotify——比如尝鲜新功能,或者回到某…

2026/9/14 18:55:19

水质监测管理平台:水质实时监测・化验记录全链路业务建模

前言水质监测管理,是守护供水安全的最后一道防线,覆盖在线水质数据自动采集、实时监测、国标限值比对、超标分级预警、异常处置复核,以及实验室采样、化验、审核、归档全流程,业务对标国家标准、时效要求高、处置复核需双人把关、…

2026/9/14 18:55:19

守护万家数字安全感,网络安全走进社区 “家门口”

引言:立足网安周 “进社区”,找准基层网络安全治理切口2026 年国家网络安全宣传周于 9 月 14‑20 日在全国开展,主题为“网络安全为人民,网络安全靠人民 —— 智能时代 网安护航”。宣传周持续推进网络安全 “七进” 活动&#xf…

2026/9/14 18:55:19

DPR适配实战:解决移动端图片模糊的根本方案

1. 这不是图片质量的问题,是设备与渲染的“语言错位” 你肯定遇到过:设计师发来的 PNG 稿子在 Sketch 里放大看连像素点都锐利得能数清,导出切图后塞进前端页面,一上真机——尤其是 iPhone 14 Pro 或华为 Mate 50——图片立刻像蒙…

2026/9/14 18:55:19

氛围编程与职场效能:开发者如何平衡创新与绩效

1. 项目背景解析:当"氛围编程"遭遇职场现实"氛围编程"这个概念最近在技术社区引发了不少讨论,它描述的是一种更注重工作环境舒适度和团队协作体验的编程方式。典型的氛围编程实践包括:开放式协作空间设计弹性工作时间制度…

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/14 0:03:22

KCF目标跟踪算法与OTB工程实现:毕业设计实战解析

简介:这是一份基于KCF核相关滤波算法、融合尺度池与抗遮挡处理的目标检测跟踪MATLAB完整源码,主要面向计算机相关专业准备毕业设计、课程设计或期末大作业的学生,也适合需要项目实战练习的初学者。源码在OTB数据集上完成验证,能够…

2026/9/14 0:03:22

语音情感识别实战:Keras实现LSTM、CNN、SVM与MLP多模型对比

简介:面向语音情感识别入门与进阶开发者,这份基于Keras的项目源码完整实现了LSTM、CNN、SVM、MLP四种模型,兼容Python3.8与Keras/TensorFlow2环境。压缩包内含49个文件,大小约70.31MB,主体包括Python脚本、yaml/json配…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码