SuperAPI AI 工具集

data-quality

数据与分析

查看项目

更新于 10-15 10:43

技能介绍

用途

该技能面向 Lakehouse 架构下的数据质量与模式漂移问题。Lakehouse 在写入时强制模式,但模式会随时间演进;行数骤降、空值增多、数据延迟到达等质量问题可能悄无声息地破坏下游分析。该技能让智能体能够剖析数据、检测模式演进/漂移,并实现企业级数据质量检查。

主要能力

1. 模式漂移检测

比较最早可用快照/提交与最新快照的模式,列出:

  • 新增列
  • 删除列
  • 类型变更(例如 INT 变为 LONG)

针对不同表格式提供方法:

  • Delta Lake:使用 .history() 查找模式变更,或解析事务日志。
  • Iceberg:使用 catalog 在 table.history() 中比较模式。

2. 企业级数据质量框架

当被要求构建数据质量检查时,优先使用行业标准框架而非原始 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)

3. 异常检测(统计边界)

如果用户需要高级质量检查,建议使用 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 或 Great Expectations 的质量检查定义,最后可选用统计方法做异常检测。

输出格式

质量剖析报告示例:

### 📉 Data Quality & Schema Profile: `[Table Name]`

#### 🔄 Schema Evolution
- **Initial Version:** 34 columns
- **Current Version:** 36 columns
- **Changes:**
  - `+` `user_segment` (STRING)
  - `~` `transaction_id` (INT -> BIGINT)

#### ✅ Quality Metrics (Soda Profile)
| Check | Threshold | Result | Status |
|-------|-----------|--------|--------|
| **Freshness** | `< 1h` | 2 mins ago | 🟢 Pass |
| **Duplicates** | `= 0` | 5 records | 🔴 Fail |
| **Null Rate** | `= 0%` | 0% | 🟢 Pass |

适用场景

  • 需要监控 Lakehouse 表模式随时间变化的场景。
  • 需要为数据表建立企业级数据质量检查的场景。
  • 需要检测行数、空值、新鲜度等指标异常的场景。

限制

资料未提供该技能的具体安装方式、支持的平台范围、收费模式或性能限制等信息。