用途
该技能用于湖仓(Lakehouse)环境下的数据质量与模式漂移治理。湖仓架构在写入时强制 schema,但 schema 会随时间演进;行数骤降、空值增加、数据延迟到达等质量问题可能悄无声息地破坏下游分析。该技能帮助智能体发现这些问题并落地可执行的质量检查。
主要能力
模式漂移检测
比较最早可用快照/提交与最新快照的 schema,列出新增列、删除列以及类型变更(如 INT 改为 LONG)。对 Delta Lake,可使用 .history() 查找 schema 变更或解析事务日志;对 Iceberg,可通过 catalog 比较 table.history() 中的 schema。
企业级数据质量框架
当被要求构建数据质量检查时,优先采用行业标准框架而非裸 SQL。
Soda Core YAML 模式示例:
checks for catalog.database.table_name:
- row_count > 0
- freshness(updated_at) < 1h
- duplicate_count(transaction_id) = 0
- missing_count(user_id) = 0
- schema:
fail: when required column missing [id, user_id, updated_at]
Great Expectations 模式示例:
import great_expectations as gx
context = gx.get_context()
validator = context.sources.pandas_default.read_parquet("s3://bucket/path")
validator.expect_column_values_to_not_be_null("user_id")
validator.expect_column_values_to_be_unique("transaction_id")
validator.expect_table_row_count_to_be_between(min_value=1000)
异常检测(统计边界)
如需更高级的质量检查,可使用 SQL 中的移动平均或 Z-score 进行统计异常检测。示例:
WITH daily_counts AS (
SELECT date_trunc('day', created_at) as dt, COUNT(*) as cnt
FROM my_table GROUP BY 1
),
stats AS (
SELECT AVG(cnt) as mean, STDDEV(cnt) as stddev FROM daily_counts
)
SELECT dt, cnt, (cnt - mean) / stddev as z_score
FROM daily_counts, stats
WHERE abs((cnt - mean) / stddev) > 3; -- Flags days > 3 standard deviations
使用方式
该技能以智能体技能形式提供,通过指令引导智能体执行以下步骤:先进行模式漂移检测(对比快照并归类变更),再按需生成 Soda Core YAML 或 Great Expectations 校验代码,最后可选地叠加统计异常检测。输出采用「质量剖析报告」格式,包含模式演进变更列表以及质量指标表格(检查项、阈值、实际结果、通过/失败状态),例如新鲜度、重复数、空值率等。
适用场景
适用于 Delta Lake 或 Iceberg 等湖仓表的数据治理、schema 变更审计、下游分析保障,以及需要建立自动化质量检查的企业数据平台。
限制
资料未提供该技能支持的具体运行环境、依赖版本、权限要求或执行性能信息,暂未提供。