数据智能

没治理的数据湖,三年后就变成数据沼泽

表越来越多,没人知道哪张能用、口径是什么、谁在用。治理必须和建设同步做,不能等出问题再补。

治理落地清单

元数据与血缘

  • Glue Catalog 统一注册所有表,禁止游离的裸文件
  • 每张表必须有 owner、业务口径说明与更新频率
  • 字段级注释完整,特别是枚举值含义
  • 加工任务的输入输出关系自动采集成血缘图
  • 表的下游使用方可查,废弃前能通知到人

数据质量

  • 关键表配置质量规则:非空、唯一、值域、行数波动
  • 质量检查跑在加工流水线里,不通过就阻断下游
  • 质量问题分级:阻断级、告警级、记录级
  • 质量看板对业务方可见,建立信任

分级与权限

  • 数据按敏感度分级:公开、内部、机密、绝密
  • PII 字段识别(Macie 扫描)并标记
  • Lake Formation 做表级、列级、行级权限控制
  • 敏感字段对分析师默认脱敏,需申请才能看明文
  • 所有查询留审计日志,可追溯谁在何时查了什么

Glue 数据质量规则示例

yaml dq-ruleset.yaml
# Glue Data Quality 规则集:订单表
# 挂在 ETL 作业里,不通过则阻断下游加工

Rules = [
    # 完整性:关键字段不能为空
    IsComplete "order_id",
    IsComplete "user_id",
    IsComplete "created_at",

    # 唯一性:主键不能重复
    IsUnique "order_id",

    # 值域:状态必须在枚举范围内
    ColumnValues "order_status" in [
        "created", "paid", "shipped", "completed", "cancelled", "refunded"
    ],

    # 合理性:金额不能为负,也不该异常巨大
    ColumnValues "total_amount" between 0 and 10000000,

    # 时效性:当日分区必须有当日数据
    ColumnValues "created_at" > (now() - 2 days),

    # 体量波动:行数与 7 日均值偏差不超过 40%
    # 突然暴涨或暴跌通常意味着上游出问题了
    RowCount between 8000 and 200000,

    # 引用完整性:用户 ID 必须存在于用户维表
    ReferentialIntegrity "user_id" "silver.users.user_id" >= 0.99,

    # 格式:手机号字段格式校验(已脱敏字段除外)
    ColumnValues "contact_phone" matches "^1[3-9][0-9]{9}$" with threshold >= 0.95,

    # 分布:渠道占比不应该突变(可能是埋点故障)
    DistinctValuesCount "channel" between 3 and 20
]

RowCount 这条规则最实用。上游接口挂了导致数据量骤减,这条能第一时间拦住,避免错误数据流到看板。

下一步

把云的复杂度交给我们,你只管做业务

留下需求,沐杉云的解决方案架构师会在一个工作日内联系你,提供免费的现状评估、迁移方案草案与 TCO 测算表。