用途:对指定数据表做深度剖析,产出可让新成员理解该表数据的综合画像,覆盖元数据、规模、列级统计、基数、样本数据与质量评估。
主要能力与步骤:
- 基础元数据:查询 INFORMATION_SCHEMA.COLUMNS 获取列名、数据类型与注释;若表名未完全限定,先查 INFORMATION_SCHEMA.TABLES 定位。
- 规模与形状:通过 run_sql 统计总行数,例如 SELECT COUNT() as total_rows, COUNT() / 1000000.0 as millions_of_rows FROM <table>。
- 列级统计:按类型分别处理。数值列取最小、最大、均值、标准差、中位数、空值数与去重计数;字符串列取长度最小、最大、平均,空串计数与去重计数;日期时间列取最早、最新、跨度天数与空值数。
- 基数分析:对疑似分类/维度键的列按频率分组,输出频次与占比(百分比取两位),限 20 条,用于识别高基数(ID 或唯一值)、低基数(类别或状态)以及分布偏斜。
- 样本数据:SELECT * FROM <table> LIMIT 10;大表可按时间段或类别抽样以增加多样性。
- 数据质量评估:从完整性(空值占比及是否合理)、唯一性(主键重复、意外重复行)、新鲜度(时间戳最大值与更新频率)、有效性(取值范围、格式、孤立外键)、一致性(关联列与逻辑矛盾)等维度总结。
- 输出总结:包含概览(2-3 句说明表内容、使用者与新鲜度)、Schema 表(列、类型、空值率、去重数、说明)、关键统计(行数、日期范围、最后更新时间)、数据质量评分(完整性、唯一性、新鲜度、总体各 X/10)、潜在问题清单,以及 3-5 条推荐查询。
使用方式:依赖 run_sql 类执行环境执行上述 SQL;表名、库名与 schema 占位符需按实际替换。
限制:资料未说明支持的数据库类型、权限要求、执行工具具体实现及性能限制;对超大表执行全表统计的成本、抽样策略细节暂未提供。SQL 方言(如 LEN、PERCENTILE_CONT、DATEDIFF)可能需按实际引擎适配。