用途:验证两张表或两个查询结果是否完全一致,或定位差异所在。
主要能力:通过 warehouse_list 列出连接;用 sql_query 检查 schema、发现主键候选、识别自动时间戳列;用 data_diff 工具执行比对,禁止手写 EXCEPT、MINUS、FULL OUTER JOIN 等差异 SQL。算法包括 profile(列级统计,不扫描行)、joindiff(同库单次 FULL OUTER JOIN)、hashdiff(跨库或大表,基于校验和二分)、cascade、auto。大表可用 partition_column 按日期、数值区间或类别分区比对。
使用方式:先输出编号 TODO 计划并逐步勾选;确认主键与需排除的自动时间戳列;检查两侧行数;先跑 profile,再按需跑行级 diff。跨库时不可用 joindiff,应使用 hashdiff 或 auto。extra_columns 为空时仅比对键是否存在,可能把值不同的行误报为一致;表名来源可自动发现非键列,SQL 查询来源必须显式提供 extra_columns。
适用场景:迁移验证、ETL 复制校验、数据一致性排查。
限制:行级 diff 输出最多含 5 行样本差异,会发送给所用 LLM 提供商;涉及 PII、PHI、PCI 等受监管数据时应先询问用户,优先用 profile 模式,或经明确同意后再做行级比对,并可用 where_clause 缩小范围。大表行级 diff 可能耗时并消耗仓库算力,需先征得用户同意。结果汇报须说明比对范围、过滤条件与时间区间、键列、纳入与排除的列及算法。