← 中文资源

简体中文版本

用期望套件校验 JSONL

对 JSONL 数据集定义期望套件,在加载进仓前捕获缺失字段与越界值。

阅读英文原文

目标

坏记录进入数仓,因为导入文件在加载前没有任何校验。本配方用期望框架对必需列断言非空、对数值列断言范围,每个断言产生按列的通过/失败结果,并让加载脚本仅在期望通过时执行,从而在入口阻断脏数据;提醒期望应聚焦关键检查。

步骤要点

  1. 对必需列定义非空期望。
  2. 对数值列定义范围期望。
  3. 让加载仅在期望通过时执行。
  4. 从关键检查起步,数据稳定后再增加。
import great_expectations as gx
ctx = gx.get_context()
validator = ctx.sources.pandas_default.read_json('events.jsonl')
validator.expect_column_values_to_not_be_null('user_id')
validator.expect_column_values_to_be_between('amount', min_value=0)

排错提示

  • 期望过严会频繁误报。
  • 大文件校验慢,可抽样或下推到加载层。
  • 不替代数仓的 schema 强制。

适用边界

  • 只检查已定义的列。
  • 会增加流水线一个阶段。